使用 FFmpeg 创建 MPEG-DASH 文件

Use FFmpeg to create MPEG-DASH files

我知道使用 ffmpeg,我们可以创建 MPEG-DASH 就绪文件,包括片段和 .mpd 清单文件。例如,我正在尝试这个有效的命令:

ffmpeg -re -i .\video-h264.mkv -map 0 -map 0 -c:a aac -c:v libx264 -b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline -profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 -b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1 -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" -f dash out.mpd

但我不想对视频进行分段 - 所以我们有一个更简单的版本,我们有整个视频的多个版本,没有块。 MPEG-DASH 允许吗?如果是这样,我如何在不创建块的情况下使用 ffmpeg 来完成它?

我认为你的意思是你想要一个文件(对于每个比特率),而不是每个片段的单个文件(同样,对于给定的比特率)。

MPEG DASH 支持这一点 - 在清单中,每个段都由基数 URL 和字节范围引用,而不是单独的 URL.

FFmpeg 支持使用单个文件选项生成此格式:

single_file single_file

Enable (1) or disable (0) storing all segments in one file, accessed using byte ranges.

(https://ffmpeg.org/ffmpeg-formats.html#toc-dash-2)