Реклама на сайте Advertise with us

Универсальный видео формат

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 07/12/15 в 09:22       Ответить с цитатойцитата 

Команда под unix:
nice /usr/local/bin/ffmpeg -y -i "_path_to_input_file_" -acodec libfaac -b:a 160k -s 1920x1080 -vcodec libx264 -movflags faststart -profile:v baseline -pix_fmt yuv420p -level:v 30 -crf 18 -vf "transpose=1" -metadata rotate=0 -threads 1 "_path_to_output_file_" :

Грубое описание:
nice - запускаем утилиту ffpmeg так чтобы она не жрала все ресурсы сервера
/usr/local/bin/ffmpeg - путь к утилите
-y - перезаписывать если файл с результаттом уже есть
-i "_path_to_input_file_" - так задается путь к исходному
-acodec libfaac -b:a 160k - настройки аудио: используем кодек libfaac, аудиобитрейт 160к
-s 1920x1080 - изменяем размер видео до 1920х1080 (HD)
-vcodec libx264 - для видео используем кодек libx264, который вроде как должен читаться всеми мобилками современными
-movflags faststart - переписываем хедеры в начало файла, чтобы запускалось сразу, без буфферицации полностью файла в кэш браузера (по идее, чтобы работала перемотка, надо еще настроить на сервере отдачу контента правильно)

Дальше сложнее, сам не очень в командах ффмпега, настройки для видео:
-profile:v baseline - видимо профиль для формата h.264, как раз чтобы подо все играло
-pix_fmt yuv420p - туда же настройки, чтобы под apple quichtime играло (https://trac.ffmpeg.org/wiki/Encode/H.264#iOS)
-level:v 30 - туда же, видимо, уровень сжатия по профилю baseline
-crf 18 - Constant Rate Factor, степень сжатия как раз
-vf "transpose=1" - так понимаю, поворачиваем вертикальное видео в горизонтальное (не уверен, возможно и без этого будет работать?)
-metadata - вырезаем все метаданные из файла (автор, кто когда и где создал)
rotate=0 - выравниваем к горизонтальному видео (не уверен, возможно и без этого будет работать?)
-threads 1 - сколько потоков ffmpeg запускать (насколько сильно грузить сервер)
"_path_to_output_file_" - куда писать результат


То же самое, но без HD:

nice /usr/local/bin/ffmpeg -y -i "_input_" -acodec libfaac -b:a 160k -s 640x360 -vcodec libx264 -movflags faststart -profile:v baseline -pix_fmt yuv420p -level:v 30 -crf 18 -vf "transpose=1" -metadata rotate=0 -threads 1 "_output_"

3
 



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 07/12/15 в 09:27       Ответить с цитатойцитата 

sweetypie писал:
Кроме того, MilkSucker написал интересную вещь о прямой ссылке, это ещё одна сторона которая может влиять. Может, я путаю разные вещи, но, какой нибудь Хвидеос показывает какую то "замысловатую" ссылку на ролловере, не просто очевидный линк.
Ещё раз, спасибо за ваш ответ.

Ссылка там как раз с хэшем для конкретного юзера / файла. Грубо говоря, берет твой айпи, и на 15-30 минут для тебя делает ключевую фразу для файла.
Физически файл лежит на domain.tld/file.mp4 , но напрямую он не доступен.
Только если дергать как domain.tld/file.mp4?hash=SOME_HASH
А в кэше как раз кодируется md5(USER_IP ++ VIDEO_FILE_URL ++ TIMEOUT_15_MINUTES), то есть для тебя файл в течении 15 минут отдается по прямой ссылке domain.tld/file.mp4?hash=erbger874h784hTI4t4i - потому и играется.

3
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 11/12/15 в 13:22       Ответить с цитатойцитата 

MilkSucker, большое спасибо за такой полезный ответ!
Я так понимаю, что нужно локально установить ffmpeg, и попрактиковаться с ним.
Я не очень понимаю как Линукс версию установить, но в моём Кейвкрик (Ццбилл) сервере работает Петер, единственный, который разбирается во всём, что нужно, надеюсь, он поможет с установкой.
1. "-y - перезаписывать если файл с результаттом уже есть". Результат с тем же расширением? Это оригинал (с другим расшерением) не сотрёт?
2. "для видео используем кодек libx264, который вроде как должен читаться всеми мобилками современными".
Он включен в саму ffmpeg программу, или подгружается отдельно?
3.
MilkSucker писал:
Для iOs точно (не скажу про андроид) видео должно быть доступно по прямой ссылке.
Например http://user:pass@domain.tld/video.mp4 - не сработает.
http://domain.tld/video.mp4?passcode=sha1_hash_here - сработает.

Ну и да, вроде сейчас все должны уже проигрывать h264, опять же, из платежеспособных. Древние андроиды-звонилки вряд ли принесут денег на просмотре платного порно.

Похоже, Вы очень важную вещь написали, но, я не до конца понял. На моих сайтах обычный CcBill логин через Strongbox, внутри Members директории выложены линки к файлам, находящимся в соседнем фолдере, и, собственно, всё.
На ролловер мауса я вижу http://sbxeCode.site.com/Members/videos/title.mp4, что больше напоминает вашу первую, не работающую версию. Для чего именно стоят "?passcode=sha1_hash_here" в Вашем втором примере, пожалуйста, объясните. Только, если можно, попроще, я в этом не очень разбираюсь.
MilkSucker, ещё раз большое спасибо.

0
 



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 12/12/15 в 04:23       Ответить с цитатойцитата 

sweetypie писал:

Я не очень понимаю как Линукс версию установить, но в моём Кейвкрик (Ццбилл) сервере работает Петер, единственный, который разбирается во всём, что нужно, надеюсь, он поможет с установкой.

Да, нужен админ. icon_smile.gif Главное чтобы он установил ffmpeg посвежее и с поддержкой libx264. Честно скажу: без идей как именно это делать, на это есть админ.

sweetypie писал:

1. "-y - перезаписывать если файл с результаттом уже есть". Результат с тем же расширением? Это оригинал (с другим расшерением) не сотрёт?

полное вхождение конечного файла с расширением указывается в команде к ffmpeg - он и перезапишется

sweetypie писал:

2. "для видео используем кодек libx264, который вроде как должен читаться всеми мобилками современными".
Он включен в саму ffmpeg программу, или подгружается отдельно?

смотри первый ответ, еще нужно чтобы была поддержка faststart у сборки (поэтому надо поновее версию ставить)

sweetypie писал:

3.
Похоже, Вы очень важную вещь написали, но, я не до конца понял. На моих сайтах обычный CcBill логин через Strongbox, внутри Members директории выложены линки к файлам, находящимся в соседнем фолдере, и, собственно, всё.
На ролловер мауса я вижу http://sbxeCode.site.com/Members/videos/title.mp4, что больше напоминает вашу первую, не работающую версию.

Со стронгбоксом будет и так работать, напрямую. Главное чтобы файл был правильно пережат под libx264.

sweetypie писал:

Для чего именно стоят "?passcode=sha1_hash_here" в Вашем втором примере, пожалуйста, объясните. Только, если можно, попроще, я в этом не очень разбираюсь.

Это когда файл лежит не за стронгбоксом, а, например, в открытом доступе. Чтобы все подряд не могли качать и смотреть - ставится отдельное правило на сервере что файлы с расширением таким-то не отдавать ни в коем случае по прямой линке. А если к ним приходит запрос file.ext?passcode=*** - проверять то что в passcode на валидность и тогда уже показывать.

PS: что за платник, если не секрет? можно в личку

3
 



С нами с 30.10.12
Сообщения: 3121
Рейтинг: 2543


Передовик Master-X (16.02.2018) Передовик Master-X (01.03.2018) Передовик Master-X (01.05.2018) Передовик Master-X (16.05.2018) Передовик Master-X (01.07.2018) Ветеран трепа Master-X (16.09.2018)
Ссылка на сообщениеДобавлено: 12/12/15 в 04:34       Ответить с цитатойцитата 

Вот так я собираю ffmpeg на ubuntu со всеми плюшками и кодеками

Код: [развернуть]

2
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 15/12/15 в 18:54       Ответить с цитатойцитата 

Ffmpeg не требует видео карты установленной на сервере, он будет работать и без неё, правильно?

0
 



С нами с 30.10.12
Сообщения: 3121
Рейтинг: 2543


Передовик Master-X (16.02.2018) Передовик Master-X (01.03.2018) Передовик Master-X (01.05.2018) Передовик Master-X (16.05.2018) Передовик Master-X (01.07.2018) Ветеран трепа Master-X (16.09.2018)
Ссылка на сообщениеДобавлено: 15/12/15 в 20:46       Ответить с цитатойцитата 


facepalm.gif

0
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 16/12/15 в 00:19       Ответить с цитатойцитата 

Какая версия лучше: командная или РНР?

0
 

programmer

С нами с 08.12.02
Сообщения: 7606
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 16/12/15 в 00:32       Ответить с цитатойцитата 

ffmpeg-php
старое и неподдерживаемое УГ
спросите конфиг актуальной сборки

банк Tinkoff

3
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 22/12/15 в 15:02       Ответить с цитатойцитата 

Установили мне ffmpeg на сервере, а, теперь как им управлять, куда эти команды вводить?

0
 



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 22/12/15 в 15:29       Ответить с цитатойцитата 

Нужно подключиться к серверу по ssh/sftp протоколу софтом, типа, putty.
И из-под командной строки писать эти команды.

https://www.google.com/search?q=how+to+use+ssh&ie=utf-8&oe=utf-8

3
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 25/12/15 в 02:16       Ответить с цитатойцитата 

MilkSucker писал:
Команда под unix:
nice /usr/local/bin/ffmpeg -y -i "_path_to_input_file_" -acodec libfaac -b:a 160k -s 1920x1080 -vcodec libx264 -movflags faststart -profile:v baseline -pix_fmt yuv420p -level:v 30 -crf 18 -vf "transpose=1" -metadata rotate=0 -threads 1 "_path_to_output_file_" :

Грубое описание:
nice - запускаем утилиту ffpmeg так чтобы она не жрала все ресурсы сервера
/usr/local/bin/ffmpeg - путь к утилите
-y - перезаписывать если файл с результаттом уже есть
-i "_path_to_input_file_" - так задается путь к исходному
-acodec libfaac -b:a 160k - настройки аудио: используем кодек libfaac, аудиобитрейт 160к
-s 1920x1080 - изменяем размер видео до 1920х1080 (HD)
-vcodec libx264 - для видео используем кодек libx264, который вроде как должен читаться всеми мобилками современными
-movflags faststart - переписываем хедеры в начало файла, чтобы запускалось сразу, без буфферицации полностью файла в кэш браузера (по идее, чтобы работала перемотка, надо еще настроить на сервере отдачу контента правильно)

Дальше сложнее, сам не очень в командах ффмпега, настройки для видео:
-profile:v baseline - видимо профиль для формата h.264, как раз чтобы подо все играло
-pix_fmt yuv420p - туда же настройки, чтобы под apple quichtime играло (https://trac.ffmpeg.org/wiki/Encode/H.264#iOS)
-level:v 30 - туда же, видимо, уровень сжатия по профилю baseline
-crf 18 - Constant Rate Factor, степень сжатия как раз
-vf "transpose=1" - так понимаю, поворачиваем вертикальное видео в горизонтальное (не уверен, возможно и без этого будет работать?)
-metadata - вырезаем все метаданные из файла (автор, кто когда и где создал)
rotate=0 - выравниваем к горизонтальному видео (не уверен, возможно и без этого будет работать?)
-threads 1 - сколько потоков ffmpeg запускать (насколько сильно грузить сервер)
"_path_to_output_file_" - куда писать результат


То же самое, но без HD:

nice /usr/local/bin/ffmpeg -y -i "_input_" -acodec libfaac -b:a 160k -s 640x360 -vcodec libx264 -movflags faststart -profile:v baseline -pix_fmt yuv420p -level:v 30 -crf 18 -vf "transpose=1" -metadata rotate=0 -threads 1 "_output_"


Мне наконец установили ffmpeg, но, кое что работает немного иначе:
когда я сказал, что нужен пат к программе, они ответили, что не нужен, и в их версии это просто "nice ffmpeg -i", и именно так работает, не знаю достаточно ли этого, чтобы делать всё что надо, но, рендерит.
Читая Ваше описание комманд, самой интересной показалась " -movflags faststart - переписываем хедеры в начало файла, чтобы запускалось сразу, без буфферицации полностью файла в кэш браузера", но, когда я её добавляю, Патти пишет так:
"[mp4 muxer @ 0x18d71c0] [Eval @ 0x7ffc934da8c0] Undefined constant or missing '(' in 'faststart'
[mp4 muxer @ 0x18d71c0] Unable to parse option value "faststart"
[mp4 muxer @ 0x18d71c0] Error setting option movflags to value faststart."
а, через несколько строчек так:
"Could not write header for output file #0 (incorrect codec parameters ?)"
Почему эта важная команда не принимается, как Вы думаете?

0
 



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 25/12/15 в 05:45       Ответить с цитатойцитата 

sweetypie писал:

когда я сказал, что нужен пат к программе, они ответили, что не нужен, и в их версии это просто "nice ffmpeg -i", и именно так работает, не знаю достаточно ли этого, чтобы делать всё что надо, но, рендерит.

да, это алиас. типа ярлык для вызова приложения. в любом случае, можно набрать which ffmpeg и он покажет полный путь.
sweetypie писал:

Читая Ваше описание комманд, самой интересной показалась " -movflags faststart - переписываем хедеры в начало файла, чтобы запускалось сразу, без буфферицации полностью файла в кэш браузера", но, когда я её добавляю, Патти пишет так:
"[mp4 muxer @ 0x18d71c0] [Eval @ 0x7ffc934da8c0] Undefined constant or missing '(' in 'faststart'
[mp4 muxer @ 0x18d71c0] Unable to parse option value "faststart"
[mp4 muxer @ 0x18d71c0] Error setting option movflags to value faststart."
а, через несколько строчек так:

видимо сборка или не полная, или старая, без поддержки faststart. Варианта два: просить поставить так чтобы была поддержка -movflags и faststart.
Или убирать эту часть из команды, писать в файл video_tmp.mp4 , а потом запускать так:
qt-faststart video_tmp.mp4 video_result.mp4
Но надо чтобы утилита qt-faststart тоже стояла на сервере, иначе не сработает. временный потом можно удалить, правильный (с хедерами в начале файла) будет в video_result.mp4

3
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 27/12/15 в 18:50       Ответить с цитатойцитата 

MilkSucker писал:
да, это алиас. типа ярлык для вызова приложения. в любом случае, можно набрать which ffmpeg и он покажет полный путь.

видимо сборка или не полная, или старая, без поддержки faststart. Варианта два: просить поставить так чтобы была поддержка -movflags и faststart.
Или убирать эту часть из команды, писать в файл video_tmp.mp4 , а потом запускать так:
qt-faststart video_tmp.mp4 video_result.mp4
Но надо чтобы утилита qt-faststart тоже стояла на сервере, иначе не сработает. временный потом можно удалить, правильный (с хедерами в начале файла) будет в video_result.mp4


MilkSucker, cпасибо за Ваш ответ.
После Рождества эти ребята из Кэйвкрик не спешат с ответами, уже 3 дня жду))
А, пока хочу спросить: сейчас мои самплы ререндеренные явно играют до полного даунлоада в кэш, но, задерживаются с перемещением точки просмотра до 12 секунд, а, у тюбов это происходит почти мгновенно. Вы думаете, что movflags и faststart это то, что улучшит скорость навигации, даже, если и сейчас сеттинги на сервере позволяют перемещаться вдоль видео до полной загрузки, или всё таки эти сеттинги сервера как то "подкрутить" тоже, или добавить какую то утилиту в сервер?

0
 



С нами с 31.10.03
Сообщения: 730
Рейтинг: 336

Ссылка на сообщениеДобавлено: 28/12/15 в 03:32       Ответить с цитатойцитата 

Да, надо настраивать на сервере отдачу файлов с "промоткой", иначе все-равно чтобы мотать придется выкачать сначала весь файл в кэш.
Админ тебе нужен грамотный, в общем icon_smile.gif И доступ на сервер человеческий (root) чтобы выдать админу.

3
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 28/12/15 в 03:47       Ответить с цитатойцитата 



spasibo za otvet, MilkSucker

Последний раз редактировалось: sweetypie (28/12/15 в 03:50), всего редактировалось 2 раз(а)

0
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 28/12/15 в 03:48       Ответить с цитатойцитата 

MilkSucker писал:
Да, надо настраивать на сервере отдачу файлов с "промоткой", иначе все-равно чтобы мотать придется выкачать сначала весь файл в кэш.
Админ тебе нужен грамотный, в общем icon_smile.gif И доступ на сервер человеческий (root) чтобы выдать админу.


Ну, они там, вроде, мастера на CcBill, по крайней мере парочка из них, делали удивительные вещи с перекорёженным Стронгбоксом (с самой Али у меня уже несколько лет не ладилосьicon_smile.gif)
Они сами эти сервера там собирают и дают пароли, так что у них есть доступ куда угодно.
За 12 секунд весь файл не зальётся в кэш, а, примерно, столько требуется, чтобы продолжить просмотр с любого места. Значит, промотка у меня есть, правильно? Но, почему то медленнее работающая, чем в тюбах. Что может её ускорить?

0
 



С нами с 30.10.12
Сообщения: 3121
Рейтинг: 2543


Передовик Master-X (16.02.2018) Передовик Master-X (01.03.2018) Передовик Master-X (01.05.2018) Передовик Master-X (16.05.2018) Передовик Master-X (01.07.2018) Ветеран трепа Master-X (16.09.2018)
Ссылка на сообщениеДобавлено: 28/12/15 в 04:34       Ответить с цитатойцитата 

Крупные тьюбы вообще то используют CDN - content delivery system ,поэтому навигация по файлу быстрая,но это совсем другой уровень

0
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 28/12/15 в 20:51       Ответить с цитатойцитата 



Securom, спасибо за Ваш ответ.
Вы точно знаете, что хвидеос и хаб используют CDN, а, не хранят контент в одном месте?

0
 



С нами с 25.08.08
Сообщения: 18700
Рейтинг: 1251


Передовик Master-X (01.07.2020) Передовик Master-X (16.07.2020)
Ссылка на сообщениеДобавлено: 28/12/15 в 22:02       Ответить с цитатойцитата 

sweetypie писал:
Securom, спасибо за Ваш ответ.
Вы точно знаете, что хвидеос и хаб используют CDN, а, не хранят контент в одном месте?


facepalm.gif

даже не сумлевайся

0
 



С нами с 30.10.12
Сообщения: 3121
Рейтинг: 2543


Передовик Master-X (16.02.2018) Передовик Master-X (01.03.2018) Передовик Master-X (01.05.2018) Передовик Master-X (16.05.2018) Передовик Master-X (01.07.2018) Ветеран трепа Master-X (16.09.2018)
Ссылка на сообщениеДобавлено: 28/12/15 в 22:42       Ответить с цитатойцитата 

Топикстартера даже потроллить нельзя,он как будто с другой планеты с такими вопросами facepalm.gif
CDN достаточно дорогое решение,я вот как нищеброд соорудил из трех гигабитных серверов типа своего CDNа и раздаю с них контент и как толпа налетает то пиздец у меня серваки напрягаются и тормозят в плане перемотки видео.

1
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 28/12/15 в 23:04       Ответить с цитатойцитата 

spasibo

Последний раз редактировалось: sweetypie (28/12/15 в 23:06), всего редактировалось 1 раз

0
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 28/12/15 в 23:05       Ответить с цитатойцитата 

Securom писал:
Топикстартера даже потроллить нельзя,он как будто с другой планеты с такими вопросами facepalm.gif
CDN достаточно дорогое решение,я вот как нищеброд соорудил из трех гигабитных серверов типа своего CDNа и раздаю с них контент и как толпа налетает то пиздец у меня серваки напрягаются и тормозят в плане перемотки видео.


А, по каким странам (или штатам) вы их расставили?

0
 



С нами с 30.10.12
Сообщения: 3121
Рейтинг: 2543


Передовик Master-X (16.02.2018) Передовик Master-X (01.03.2018) Передовик Master-X (01.05.2018) Передовик Master-X (16.05.2018) Передовик Master-X (01.07.2018) Ветеран трепа Master-X (16.09.2018)
Ссылка на сообщениеДобавлено: 29/12/15 в 06:36       Ответить с цитатойцитата 

Ни по каким,все видосы по очереди раздаются с каждого сервака,вот и все распределение нагрузки smail101.gif

0
 



С нами с 17.11.15
Сообщения: 76
Рейтинг: -9

Ссылка на сообщениеДобавлено: 29/12/15 в 07:08       Ответить с цитатойцитата 



Тогда, это же не совсем CDN концепция, Вы, просто, усиливаете свой сервер, а, не "разбрасываете" его ближе к потребителю?
У меня, к сожалению нет такого ажиотажа, у меня, вообще, лимит 60т, который я и близко не раздаю.
У Вас тюб?

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »