视频的实时Muxing



我的问题主要来自于我有两个不同的视频播放流,并且必须在内存中实时复用它们。一个用于视频,另一个用于音频。

我的目标是创建一个代理,它可以从URL复用2个不同的webm流,同时支持范围请求(需要知道编码的文件大小(。这可能吗?

这就是我如何使用ffmpeg:手动多路复用音频和视频流

ffmpeg -i video.webm -i audio.webm -c copy output.webm

但是,这需要我完全下载视频来处理它,不幸的是,我不想这样做。

提前感谢!

如果你想在go中使用它,你可以查看

github.com/at-wat/ebml-go/webm

这提供了一个BlockWriter接口,用于使用缓冲区写入webm文件;你可以看到测试文件来检查如何使用它

https://github.com/at-wat/ebml-go

检出ffmpeg管道。

此外,由于您已经标记了go-我假设您将使用os/exec-在这种情况下,还可以签出Cmd.ExtraFiles。这使您可以使用标准0、1和2之外的其他管道(文件(。

假设您有一个视频流和一个音频流,分别连接到34。命令的ffmpeg位变为:

ffmpeg-i管道:3-i管道:4-c复制输出.webm

最新更新