标签: mp4box

当用户寻找另一个时间时,在HTML5视频流中计算.m4s段文件后缀

我使用Mp4Box为长MP4视频创建了固定长度的片段.Mp4Box创建一个元信息文件mv_init.mp4和段一样mv_1.m4s,mv_2.m4s...我使用HTML5媒体来源扩展流视频和流是否正常工作.

问题是我无法利用我的HTML5播放器的时间寻找功能.当用户使用搜索栏寻找另一个时间点时,我需要为此获取正确的段文件(mv_{number}.m4s)currentTime.

例如:

  • 视频时长:2小时
  • 段大小:10秒
  • 用户寻求时间:25分钟

25分钟= 25×60秒= 1500秒.由于每个段都是10秒,我需要段号1500/10 = 150.所需的段文件是mv_150.m4s.

计算显然是正确的,但HTML5播放器然后在继续流式传输之前下载更多文件mv_150.m4s.

如何正确计算段文件号,以便在搜索之后,流式传输运行顺畅,无需下载任何额外的文件?

要创建MP4视频的片段,我使用以下命令:

MP4Box -dash 10000 -out video.mpd -dash-profile live -segment-name mv_ -rap video.mp4
Run Code Online (Sandbox Code Playgroud)

video-streaming html5-video media-source mpeg-dash mp4box

12
推荐指数
1
解决办法
1285
查看次数

创建MPEG-DASH初始化段

我期待在HLS和MPEG Dash之间进行转换.我不访问原始完全连接的视频文件,只访问单个HLS段.

在对MPEG Dash进行此转换时,我需要为Dash清单.mpd文件提供初始化段.

我的问题是:

  1. Dash视频初始化段的结构是什么?
  2. 如何在不需要原始完整文件的情况下生成/创建一个?

也许一个解决方案MP4Box是将'.ts'的HLS段转换为自动初始化的Dash'.m4s'段,但我不确定如何解决这个问题?

任何想法都非常感谢.

非常感谢.

更新:使用原始hls段流式传输的片段.视频一直播放,但只是黑色.

  <Representation width="426" height="238" frameRate="25" id="238p 400kbps" bandwidth="400000">
    <SegmentList timescale="25000" duration="112500">
           <SegmentURL media="video_0_400000/hls/segment_0.ts"/>
           <SegmentURL media="video_0_400000/hls/segment_1.ts"/>
          <SegmentURL media="video_0_400000/hls/segment_2.ts"/>
    </SegmentList>
   </Representation>
</AdaptationSet>
Run Code Online (Sandbox Code Playgroud)

ffmpeg http-live-streaming adaptive-bitrate mpeg-dash mp4box

7
推荐指数
1
解决办法
6390
查看次数

如何使用 MP4Box 创建 mpd 文件

我是 GPAC 的 MP4Box 工具的新手。使用它,我们可以为 DASH 创建 MPD(媒体演示描述)文件。我不知道该怎么做。

有人使用此工具为视频文件创建 MPD 吗?

streaming mp4box

5
推荐指数
1
解决办法
9178
查看次数

如何使用 Android 版 mp4box?

我需要通过将 moov 原子移动到开头来使 mp4 视频符合“流式传输”条件 [视频是由我的应用程序的用户在应用程序中录制的(所以我不知道视频何时会从哪个设备录制)(要发送到我的 Linux 主机)] 。人们推荐 mp4box 用于此目的,但是 mp4box 到底是什么?这些命令是什么?我在哪里输入它们?如何在我的 Android 应用程序中使用该工具?我不知道我是否遗漏了一些明显的东西,但我确实找不到这些基本问题的答案。

编辑:我的意思是: mp4box 、 ffmpeg 等看起来不像“向 gradle 添加依赖项并使用它的类”。根据类似的问题,我可以使用以下命令将 moovatom 放在开头:

'MP4Box -inter 500 原始.mp4 -输出固定.mp4'

实现这个的方法是什么?

我也对其他解决方案持开放态度,例如在服务器端处理它。

video android mp4box

5
推荐指数
1
解决办法
2037
查看次数

如何从MPEG DASH段创建HLS清单?

自从苹果公司宣布支持分段MP4以来,是否可以为同一段片段(分别用于音频和视频)创建DASH清单(.mpd)和HLS清单(.m3u8)。怎么做?

ffmpeg http-live-streaming mpeg-dash mp4box bitmovin-player

5
推荐指数
1
解决办法
3783
查看次数

每个关键帧中带有标题的MP4段

我试图在分段文件(styp)的mp4容器中找到h264帧.对于分段我目前正在使用MP4Box破折号.我使用了MP4Box解析器,我注意到在每个关键帧(IDR)中,样本的大小不同于原始文件中同一帧的大小.我计算了差异,其他段中的同一文件总是37个字节.

在此输入图像描述

这些字节代表什么?它们仅出现在每个关键帧之前的分段mp4文件类型中.我测试了其他文件,这些字节的数量略有不同(其他文件为39字节)并且不是相同的数据(尽管它们共享一些字节模式).这是来自mp4标准还是H264甚至MP4Box?我没有线索.

mp4 h.264 mpeg-4 mpeg-dash mp4box

4
推荐指数
1
解决办法
472
查看次数