ffmpeg - 使用 FFmpeg 创建 MPEG-DASH 文件

标签 ffmpeg video-streaming http-live-streaming mpeg-dash adaptive-bitrate

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

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

但我不想对视频进行分段 - 所以有一个更简单的版本,我们有整个视频的多个版本,没有 block 。 MPEG-DASH 允许吗?如果是这样,我如何使用 ffmpeg 来做到这一点而不创建 block ?

最佳答案

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

MPEG DASH 支持这一点 - 在 list 中,每个片段都由基本 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 )

关于ffmpeg - 使用 FFmpeg 创建 MPEG-DASH 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70853624/

相关文章:

java - 将视频托管在服务器上并在jsp页面上播放

html - 了解 HTML5 视频标签和流式 block

javascript - Dash.js 播放器支持 HLS (HTTP Live Streaming) 和 MSS (Microsoft Smooth Streaming) 吗?

c - 如何让音频听起来更好? (C+FFMpeg音频生成示例)

xcode - 在适用于 Mac 的 OSX Xcode 项目上使用 ffmpeg

ffmpeg - 当我的两个输入都具有偶数高度时,为什么 hstack 会失败并显示 "width not divisible by 2"?

ios - HLS 加密的 AES-128 - IOS 设备问题

asp.net - 在 Android 上下载时播放视频

video - 使用 ffmpeg 进行动态转码和 HLS 流式传输

ffmpeg - 向ffmpeg m3u8文件添加标签的问题