如何在播放器上播放MPEG-DASH中mpd给出的.m4s文件?

14

你成功地使用了被接受的答案吗?我没有。Ted的回答似乎更加可靠。 - Léo Léopold Hertz 준영
4个回答

39

您需要初始化片段。它通常被命名为“00”或“init”,或者没有像其他文件一样的序列号,并且通常以“.mp4”而不是“.m4s”结尾。然后,您只需将文件连接在一起即可。只要您从初始化片段开始,可以从任何序列中的任何位置开始。

例如:

cat init.mp4 *.m4s > output.mp4

如果没有应用加密(DRM)的话,那么你就拥有一个可播放的 mp4 文件。


类似的问题在这里http://askubuntu.com/q/803234/25388,但是对于.m4s无效。你怎么获得初始化段?你能发一个吗? - Léo Léopold Hertz 준영
我按照您建议的使用cp命令和cat命令连接所有文件,一路连接到init文件。但是我遇到了两种不同的行为:如果我使用vlc播放“output.mp4”,它会出现卡顿,并且无法正确跳过帧(即如果我从开头播放然后跳到视频的一半,我会得到上次看到的下一帧,而不是“中心帧”,也就是我期望的那个...简单来说,视频继续播放,好像我的跳过从未发生过)...但是,如果我在Web浏览器(比如Chrome)中播放它,它就可以正常工作,跳过功能再次可用,并且与在Web上看到的原始视频一样流畅。为什么? - pippo
我也尝试了QuickTime,但结果并没有什么不同... 我有VLC 3.0.0版本,我注意到如果我将MP4文件转换为“.ts”格式,它就不会再出现延迟问题(使用VLC或QuickTime),而原始的MP4则会。也许是读取编码信息时出现了一些错误之类的问题?我无法解释为什么Chrome可以很好地播放MP4视频文件。 - pippo
cat init.mp4 *.m4s > output.mp4 的 Windows 等效命令是什么? - ilw

5

.m4s文件格式是ISO基础媒体文件,即MPEG-4第14部分。阅读规格以获取更多信息,您可以在Windows上获得m4s播放器。据我所知,在Linux平台上,GPAC将提供帮助。您可以使用GPAC工具MP4Box从任何媒体源创建自己的MPD。

您可以使用MP4Client播放来自MPD的DASHed Media。实际上,.m4s的单独段无法独立播放,因为播放器应该知道编解码器和媒体类型以播放任何媒体,而m4s不受任何播放器支持,即它有自己的头和数据(moof和mdat)。

要播放包含许多m4s片段的MPD(您可以制作自己的MPD或从任何MPD下载每个音频和视频片段并将其放入同一个文件夹中):

  1. 安装GPAC。
  2. $ MP4Client MYWorld.mpd将打开Osmo4播放器,您可以看到视频正在播放。享受..

顺便说一下,本地流媒体服务器也可以播放此视频:

$MP4Client http://localhost/MYWorld.mpd

如果不起作用,请更改segmentAlignment标志,即<AdaptationSet segmentAlignment="true" subsegmentAlignment="true">


1

@rajneesh,它无法播放.m4s格式,我在HexEditor中看到了.mp4文件和.m4s文件。.mp4文件以“ftypmp42”开头,但.m4s文件以“stypmsdh”开头。 - mojkaro1988

-1

在OSX终端中尝试这个:

open -a Osmo4 example.mpd

这对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接