当前位置: 首页 > 知识库问答 >
问题:

使用FFmpeg创建MPEG-DASH文件

步兴德
2023-03-14

我知道使用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在不创建块的情况下完成它?

共有1个答案

宇文良骏
2023-03-14

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

MPEG DASH支持这一点——在清单中,每个段都由基本URL和字节范围引用,而不是单个URL。

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

single_filesingle_file

启用(1)或禁用(0)在一个文件中存储所有段,使用字节范围访问。

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

 类似资料:
  • 我正在尝试使用MP4Box创建带有TS配置文件的mpeg dash文件。我尝试了以下命令: 它会生成清单文件中选中的完整配置文件。MP4Box是否支持TS段创建?

  • 我正在尝试创建MPEG-DASH内容。我找到了可以组合的代码。mp4parser中的m4s文件。请有人引导我去创造这样的。m4s文件和。mpd文件。

  • 我一直试图实现一个像丛一样的视频播放器,它可以按需转换任意视频文件,并在网页上用MPEG-Dash播放它。我能够使用引用实现来实现客户端播放器,因此它将动态地从服务器请求片段(在mpd文件中使用)。 但是我在实时生成这些块时遇到了一些问题。Ffmpeg允许我设置和来定义所需片段的边界,但是它们不能在播放机中正常播放,因为它们是“完整”视频文件,而不是破折号片段。 那么,我如何调整我的ffmpeg命

  • 我希望转换之间的HLS和MPEG破折号。我不能访问原始的完全串联的视频文件,只有个别的HLS段。 在进行到MPEG破折号的转换时,我需要为破折号manifest.mpd文件提供一个初始化段。 我的问题是: null 非常感谢。 更新:使用原始hls段的流代码段。视频一直在播放,但只是黑色的。

  • 我刚刚开始使用MPEG-DASH(从客户端),遵循c057623_ISO_IEC_23009-1_2012规范。 有人知道是否有公共库或开源来验证我收到的MPD文件吗? 我在处理xml方面没有问题。 任何帮助都将不胜感激。

  • 所以我正在尝试设置自适应流媒体,我认为问题已经解决了80-90%。现在我摄取我的源视频,将其转码为5种分辨率,每种分辨率有3个比特率(低、中、高),然后我将所有这些视频分成5秒块,以便用户始终可以获得最佳观看效果。现在我需要生成/创建我的MPD清单文件,我很难弄清楚如何操作。几乎每个人都说要使用MP4Box,但他们的许可证对我的项目来说太严格了。 当我分割视频时,是否有使用FFMPEG生成MPD文