Можно ли транслировать видео с несколькими частотами кадров с помощью MPEG-DASH?

Я перекодировал видео mp4 в несколько кадров, например 5FPS, 10FPS ... 30FPS, и использовал MP4Box, чтобы сегментировать их для воспроизведения в проигрывателе DASH IF.

FFMPEG Команда для создания видео с несколькими частотами кадров с одинаковым разрешением:

ffmpeg -i fball.mp4 -f mp4 -vcodec libx264 -profile: v high -vf scale = 1280: -1 -b: v 2000k -minrate 2000k -maxrate 2000k -bufsize 2000k -nal-hrd cbr -g 120 -keyint_min 120 -r 60.0 -flags + cgop -sc_threshold 0 -pix_fmt yuv420p -threads 0 -x264opts keyint = 120: min-keyint = 120: sps-id = 1 -an -y fball_720p_60fps.mp4

ffmpeg -i fball.mp4 -f mp4 -vcodec libx264 -profile: v high -vf scale = 1280: -1 -b: v 1000k -minrate 1000k -maxrate 1000k -bufsize 1000k -nal-hrd cbr -g 60 -keyint_min 60 -r 30.0 -flags + cgop -sc_threshold 0 -pix_fmt yuv420p -threads 0 -x264opts keyint = 60: min-keyint = 60: sps-id = 1 -an -y fball_720p_30fps.mp4

Команда FFMPEG для извлечения аудио:

ffmpeg -i fball.mp4 -acodec aac -b: a 128k -vn -strict -2 -y fball_audio.mp4

Команда MP4Box для сегментации:

MP4Box -frag 2000 -dash 2000 -rap -base-url ./segments/ -profile main -segment-name /gments /% s_ -out dash / fball_dash.mpd fball_720p_24fps.mp4 fball_720p_30fps.mp4 fball_720p_60fps.iomp4. mp4

  1. Продолжительность сегмента: 2 секунды

  2. Длина GOP: длительность сегмента x FPS видео.

  3. Разрешение: 720p для всех видео

Результат - ошибка VIDEO DECODE или зависания при переключении частоты кадров.

Допускаю ли я ошибку при перекодировании? Можно ли транслировать видео с несколькими частотами кадров с помощью MPEG DASH?


person Suresh Murali    schedule 01.03.2016    source источник


Ответы (2)


В MPEG-DASH можно использовать представления с разной частотой кадров. Я предполагаю, что это не причина ошибки декодирования. DASH.js и другие проигрыватели на основе HTML5 / JS используют MSE из базовый браузер для декодирования. Таким образом, ваши закодированные сегменты, скорее всего, не соответствуют требованиям механизма декодирования браузеров или повреждены.

Пример создания содержимого MPEG-DASH с использованием MP4Box и x264 можно найти на здесь. В этом контексте также доступно несколько онлайн-сервисов, например Bitmovin или Wowza.

person Alexander Wolf    schedule 02.03.2016
comment
Спасибо, сэр. Я добавил команды, которые использовал для сегментации видео с несколькими частотами кадров с помощью MP4Box, можете ли вы предоставить мне команду, чтобы избежать ошибки VIDEO DECODE - person Suresh Murali; 07.03.2016

Добавление -profile:dashavc264:onDemand в команду MP4Box решило проблему с ошибкой VIDEO DECODE.

MP4Box -dash 2000 -rap -profile dashavc264: onDemand -out dash / fball_dash.mpd fball_30fps.mp4 fball_60fps.mp4 fball_15fps.mp4 fball_5fps.mp4 fball_audio.mp4

person Suresh Murali    schedule 09.08.2018