Адаптивная потоковая передача по mp4 разного размера gop с использованием API источника мультимедиа - PullRequest
0 голосов
/ 24 декабря 2018

Мне нужна адаптивная потоковая передача видео в формате mp4 с размером ключевого кадра gop.

Я знаю, что есть несколько вариантов потоковой передачи с несколькими битрейтами, например, hls, dash и т. Д.

Но я ужезагруженные видео на сервер, каждое видео имеет файл mp4 360p, 480p и 720p, и каждое видео имеет разные интервалы ключевых кадров.

Таким образом, реальная задача состоит в том, чтобы создать собственный мультипроцессорный медиаплеер mp4 с использованием медиаисточника.api

У меня мозговой штурм во всех аспектах.

Мы можем вырезать только h264 на ключевом кадре

Так что моя настоящая задача - узнать видео на каждом ключевом кадре, длительности куска ключевого кадра, длительность смещения и позиция байта смещения в файле mp4.

Поэтому мой вопрос заключается в том, как я могу получить следующие данные с помощью ffmpeg, ffprobe или любого другого программного обеспечения.

1 - Длительность чанка ключевого кадра

2 - смещение длительности видео

3 - смещение позиции байта в видео.

Следующая команда ffprobe даетХвостовая информация о каждом ключевом кадре, может быть, это поможет

ffprobe -i "1080p.mp4" -select_streams v -skip_frame nokey -show_frames

Спасибо!

1 Ответ

0 голосов
/ 25 декабря 2018

Запустите эту команду,

ffprobe -loglevel error -skip_frame nokey -select_streams v:0 -show_entries frame=pkt_dts_time,pkt_pos -of csv "video.mp4"

Затем

pkt_dts_time обеспечивает «Длительность смещения видео» для GOP.

pkt_pos обеспечивает «Положение байта смещения»«для начала GOP.

Разница между pkt_dts_time ключевого кадра и pkt_dts_time следующего ключевого кадра - это« длительность фрагмента ключевого кадра ».

Обратите внимание, что вы можете изменить положение ключевого кадра только путем перекодирования видео.И если вы перекодируете, положение ключевого кадра входного видео не имеет значения.См. -force_key_frames в разделе https://ffmpeg.org/ffmpeg.html#Advanced-Video-options о том, как принудительно использовать KF для фиксированных частей.

...