【发布时间】:2015-10-28 08:15:33
【问题描述】:
我在 nodejs 中编写了一个示例,它通过 mp4 格式的 websocket 连接将一些输入流式传输到客户端。在客户端,将 mp4 包添加到 MediaSourceBuffer。
这运行良好,但前提是客户端从第一个包的开头获取流。所以另一个客户端不能播放当前的Stream,因为他不会从一开始就得到Stream。
我尝试 (try&error) 保存 ffmpeg 发送的第一个包并在新连接开始时发送它,然后是当前流。然后 MediaSourceBuffer 由于编码错误而中断..
这里是 ffmpeg 命令:
-i someInput -g 59
-vcodec libx264 -profile:v baseline
-f mp4 -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof
-reset_timestamps 1
-
“empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof”部分应该使 Streampackages 独立于将 moovatom 放在每个部分的开头并按关键帧将各部分调整为 59 帧,所以我不明白为什么我可以'不查看开始后开始的流。
【问题讨论】:
标签: websocket ffmpeg video-streaming libx264 media-source