问题描述
我正在使用 MSE 开发实时视频流媒体网站(网络研讨会)。我几乎已经完成了 - 整个过程中的一切都完美无缺,除了这个:
每隔 5 秒来自拖缆的数据将附加到一个 WEBM 文件中。然后我把这个文件像这样推入 FFMPEG:
ffmpeg -n -ss SEGMENT_I_WANT_START_TIME -to SEGMENT_I_WANT_END_TIME -i INPUT_WEBM_FILE -preset veryfast -max_muxing_queue_size 9999 -crf 30 -vf \"fps=15\" -copyts OUTPUT_MP4_SEGMENT
上面的示例完美运行,但输出没有碎片化,因此无法在 MSE 中播放。
当我添加这个: -movflags empty_moov+default_base_moof+frag_keyframe
时,输出被正确分割并可以在 MSE 中播放但 -copyts
不起作用,所以我的片段从 0:00 开始,而不是例如 0:05 .这使我无法在 MSE 中使用 SEGMENTS 模式(因为发送到客户端的所有段都附加到 0:00)并且必须使用 SEQUENCE 模式,这会导致 AV 同步问题。
我也尝试过 -output_ts_offset
但结果相同 - 在没有碎片标志的情况下使用时它运行良好,但使用它时根本不起作用。看起来碎片化的 MP4 需要从 0:00 开始,我猜这不是真的。
所以问题是如何使用 -COPYTS 或 -OUTPUT_TS_OFFSET WITH -MOVFLAGS?预期结果是正确分割的 MP4 视频片段,可使用 MSE 播放,并在非空时间开始。
非常感谢您的建议,我为此挣扎了好几天!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)