FFmpeg — конвертируем видео файлы при загрузке на сайт

Ответить
porno-online.xxx
Blocked
Сообщения: 35
Зарегистрирован: 08 янв 2017, 03:29

FFmpeg — конвертируем видео файлы при загрузке на сайт, установили плагин на сервак, как им пользоваться, опыта не было, подскажите сайт на DLE люди добрые помогите пожалуйста.
Аватара пользователя
dedmoroz
Trust member
Сообщения: 177
Зарегистрирован: 30 янв 2015, 05:11

Задача комплексная (закачать, снять с видео параметры, определить необходимость конвертирования в низшие разрешения для десктопа. Сконвертировать для мобилок. Перенести метаданные. Нарезать скриншоты, обработать их. Переместить полученные файлы на сервер, где они будут храниться, внести изменения в БД.).
Обратись к прогеру, он доставит необходимые утилиты и напишет скрипт под тебя. Разбираться самому в конфигах и профилях кодирования - легче волосы вырвать на жопе сразу.
Аватара пользователя
Yastreb
Trust member
Сообщения: 1303
Зарегистрирован: 20 дек 2016, 16:31

porno-online.xxx, установи KVS и забудь про все эти проблемы. Можешь даже потом на дле эмбеды с него тянуть но в плане конвертации там уже опупительно сделано
Строю автодом и уебываю.
Аватара пользователя
dedmoroz
Trust member
Сообщения: 177
Зарегистрирован: 30 янв 2015, 05:11

Пример кодирования в контейнер mp4, канал видео - h.264, аудио - mp3, выходная ширина 852пкс, высота подбирается мат.выражением д.б. кратна двум, если исходник 16:9, получишь формат hd480 - 852x480 пикс.
Битрейт задан 128к, тут на форуме где-то приводились вычисления чтобы видео не подвисало, не знаю насколько это актуально.
На офф сайте ffmpeg можно ознакомиться с профилями кодирования и пользоваться ими, они задают совокупность параметров кодирования для использования полученного видео на устройствах, где оно будет воспроизведено.

$ffmpeg_path - путь твоего ffmpeg
$raw_video_path - путь до исходника
$debug_log - путь до текстового файла если нужно посмотреть лог кодирования
$hd480_video_temp_path - путь до папки где будет находиться сконверированное видео

$config_hd480_options = "-vcodec libx264 -threads 0 -r 25 -g 50 -crf 22 -me_method hex -trellis 0 -bf 8 -acodec libvo_aacenc -ar 44100 -ab 128k -f mp4 -vf scale=852:trunc(ow/a/2)*2";

$encode_command = "$ffmpeg_path -i $raw_video_path " . $encode_options . " $hd480_video_temp_path >> $debug_log 2>&1";

exec ($encode_command);

У ffmpega могут возникнуть проблемы с кодированием аудио, тогда следует попробовать альтернативные настройки aac: -acodec libfaac заменить на strcit -2 -acodec aac либо libvo_aacenc
Аватара пользователя
Sopet
Trust member
Сообщения: 270
Зарегистрирован: 02 июн 2015, 07:31

dedmoroz писал(а):scale=852:trunc(ow/a/2)*2"
А почему так?
Видео ведь должно соответствовать формату по вертикали?
Я делал просто: scale=-2:720:flags=lanczos (Ланцош - это более качественный алгоритм изменения разрешения).
Или тут есть подвох?

На счёт -r 25.
Спецы хором кричат, что частоту кадров надо оставлять оригинальную, иначе получаем стробоскоп.
https://www.youtube.com/watch?v=jMhXiklZi1w
Размер файла от этого не сильно увеличится.
Однако, вопрос: как себя чувствуют старые девайсы при стриминге в 60 fps?
Аватара пользователя
dedmoroz
Trust member
Сообщения: 177
Зарегистрирован: 30 янв 2015, 05:11

это просто пример. во время экспериментов с настройками не попадались доноры с "правильными" аспектратио 4/3 16/9, поэтому для себя остановился именно на динамической высоте, сам на данный момент использую только хотлинк.
Аватара пользователя
DON DIABLO
Trust member
Сообщения: 1060
Зарегистрирован: 23 ноя 2015, 10:13

Sopet писал(а):Однако, вопрос: как себя чувствуют старые девайсы при стриминге в 60 fps?
зависит от того на сколько старые, наблюдается подтормаживание.
Аватара пользователя
duck
Trust member
Сообщения: 935
Зарегистрирован: 09 мар 2015, 12:32

Yastreb писал(а):но в плане конвертации там уже опупительно сделано
В плане конвертации там всего лишь конфиг ffmpeg вынесен в админку :)
Последний раз редактировалось duck 16 янв 2017, 13:38, всего редактировалось 1 раз.
солнце!
Пошел вон, Вавилон!
Ответить