gpt4 book ai didi

html - 将 FFMPEG 编码为 MPEG-DASH - 或带有关键帧集群的 WebM - 用于 MediaSource API

转载 作者:技术小花猫 更新时间:2023-10-29 12:07:21 25 4
gpt4 key购买 nike

我目前正在向 Chrome 发送视频流,以通过 MediaSource API 播放。

据我了解,MediaSource 仅支持使用 MPEG-DASH 编码的 MP4 文件,或具有以关键帧开头的簇的 WebM 文件(否则会引发错误:媒体片段不以关键帧开头)。

有没有办法使用 FFMPEG 实时编码 MPEG-DASH 或关键帧 WebM 格式?

编辑:

我刚刚用 ffmpeg ... -f webm -vcodec vp8 -g 1 试了一下,这样每一帧都是关键帧。不是理想的解决方案。不过,它现在可以与 MediaStream 一起使用。有什么方法可以将片段与 WebM 中的关键帧同步,这样不是每个帧都需要是关键帧吗?


关于WebM/MP4和MediaSource的引用问题:

Media Source Api not working for a custom webm file (Chrome Version 23.0.1271.97 m)

MediaSource API and mp4

最佳答案

目前 FFMPEG 不支持 DASH 编码。您可以使用 FFMPEG ( https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment ) 进行分段,但我建议结合使用 FFMPEG 和 MP4Box。使用 FFMPEG 转码您的直播视频,然后使用 MP4Box 进行分段并创建 .mpd 索引。

MP4Box 是 GPAC ( http://gpac.wp.mines-telecom.fr/ ) 的一部分。

这是一个使用 h264 的例子:

ffmpeg -threads 4 -f v4l2 -i  /dev/video0 -acodec libfaac -ar 44100 -ab 128k -ac 2 -vcodec libx264 -r 30 -s 1280x720  -f mp4 -y "$movie" > temp1.mp4 && MP4Box -dash 10000 -frag 1000 -rap "$movie"

如果您需要 VP8 (WebM),请使用:-vcodec libvpx-f webm-f ts

关于html - 将 FFMPEG 编码为 MPEG-DASH - 或带有关键帧集群的 WebM - 用于 MediaSource API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24152810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com