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

Я работаю над сайтом видео по запросу, я использую laravel 5.7, FFMPEG и DASH player с (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 think-pad работает под управлением Ubuntu 18. 4 минуты mp4 заняли более 30 минут. 10 минут, 720p MP4 заняли вечность, пришлось убить процесс. Является что нормально? Есть идеи по оптимизации?
  2. Нужно узнать оригинал размер видео, так что я могу избежать преобразования размеров более чем оригинал. ffprob отлично выглядит в команде, но производит слишком много информация, чем требуется, есть ли простая функция?
  3. Конвертированный файл webm больше по размеру, чем исходный mp4, оригинальный mp4 720p был 33 МБ, но 640p webm - 76 МБ. Это нормально или Что-то не так?

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

Каждую из этих трех проблем можно разделить на отдельные вопросы, но вкратце: 1) полностью зависит от ваших параметров кодирования (качество, скорость, кодек), 2) с классом FFProbe PHP-FFMpeg: $ffprobe->streams($file)->videos()->first()->get('height'), 3) Да, это обычное явление при повторном кодировании. кодирование видео, и опять же зависит от ваших параметров и может указывать на то, что вы не используете оптимальные настройки. Этот может увести вас в кроличью нору и определенно требует отдельного вопроса.

Travis Britz 25.10.2018 20:37

Пожалуйста, не задавайте более одного вопроса в сообщении. Это дает частичные ответы.

szatmary 25.10.2018 20:49

Вы, вероятно, захотите попробовать обработать только фрагменты видео в фоновом режиме, а не делать все это шрифтом. Взгляните на этот ответ: unix.stackexchange.com/questions/1670/…

JPark 25.10.2018 20:50

@szatmary в следующий раз.

Ramesh Navi 25.10.2018 21:04

Тогда отвечу в следующий раз. Удачи

szatmary 25.10.2018 21:06

@TravisBritz, попробую php-ffmpeg.

Ramesh Navi 25.10.2018 21:07

Сейчас меня больше всего беспокоит первый вопрос

Ramesh Navi 25.10.2018 21:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
1 022
0

Другие вопросы по теме