FFmpeg — конвертируем видео файлы при загрузке на сайт
-
- 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
Битрейт задан 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
В плане конвертации там всего лишь конфиг ffmpeg вынесен в админкуYastreb писал(а):но в плане конвертации там уже опупительно сделано

Последний раз редактировалось duck 16 янв 2017, 13:38, всего редактировалось 1 раз.
солнце!
Пошел вон, Вавилон!
Пошел вон, Вавилон!