Оптимизация адаптивной потоковой передачи с помощью FFMPEG

Я работаю над видео на веб-сайте по требованию, я использую laravel 5.7, FFMPEG и DASH-плеер от (dashif.org). Есть несколько вопросов.

Извлечение аудио, как:

ffmpeg -i original.mp4 -vn -acodec libvorbis -ab 128k -dash 1 my_audio.webm

Преобразование видео, как:

ffmpeg -i original.mp4 -c:v libvpx-vp9 -keyint_min 150 \
-g 150 -tile-columns 4 -frame-parallel 1  -f webm -dash 1 \
-an -vf scale=160:190 -b:v 250k -dash 1 video_160x90_250k.webm \
-an -vf scale=320:180 -b:v 500k -dash 1 video_320x180_500k.webm \
-an -vf scale=640:360 -b:v 750k -dash 1 video_640x360_750k.webm \
-an -vf scale=1280:720 -b:v 1500k -dash 1 video_1280x720_1500k.webm

Создание манифеста, как:

ffmpeg \
-f webm_dash_manifest -i video_160x90_250k.webm \
-f webm_dash_manifest -i video_320x180_500k.webm \
-f webm_dash_manifest -i video_640x360_750k.webm \
-f webm_dash_manifest -i video_1280x720_1500k.webm \
-f webm_dash_manifest -i my_audio.webm \
-c copy \
-map 0 -map 1 -map 2 -map 3 -map 4 \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1,2,3 id=1,streams=4" \
my_video_manifest.mpd

Теперь о проблемах:

  1. Конвертация видео занимает много времени на последней i5 8gb
    ThinkPad под управлением Ubuntu 18. 4 минуты mp4 заняло более 30 минут. 10 минут, 720p MP4 ушло навсегда, пришлось убить процесс. Является
    это нормально? Есть идеи по оптимизации?
  2. Нужно узнать оригинал
    размер видео, так что я могу избежать преобразования размеров более
    оригинал. ffprob выглядит хорошо в команде, но производит слишком много
    информация, чем требуется, есть ли простая функция?
  3. Преобразованный файл webm больше по размеру, чем оригинальный mp4, оригинальный
    mp4 720p был 33MB, а 640p webm 76MB. Это нормально или
    что-то не так?

Любые предложения по оптимизации процесса приветствуются.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]