Go 视频的实时Muxing

Go 视频的实时Muxing,go,ffmpeg,muxer,Go,Ffmpeg,Muxer,我的问题主要来自我有两个不同的视频播放流,并且必须在内存中实时多路复用它们。一个用于视频,另一个用于音频 我的目标是创建一个代理,它可以将2个不同的webm流从它们的URL多路复用,同时支持范围请求(需要知道编码的文件大小)。这可能吗 以下是我如何使用ffmpeg手动多路复用音频和视频流: ffmpeg -i video.webm -i audio.webm -c copy output.webm 但是,这需要我完全下载视频来处理它,不幸的是,我不想这样做 提前谢谢 如果您希望在go中使用此功

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

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

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

ffmpeg -i video.webm -i audio.webm -c copy output.webm
但是,这需要我完全下载视频来处理它,不幸的是,我不想这样做


提前谢谢

如果您希望在go中使用此功能,您可以查看

github.com/at-wat/ebml-go/webm
这提供了一个
BlockWriter
接口,使用缓冲区写入
webm
文件;您可以查看测试文件以检查如何使用它

结帐

另外,由于您已经标记了go(我假设您将使用os/exec),因此在这种情况下也会签出。这使您可以使用标准0、1和2之外的附加值

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


ffmpeg-i pipe:3-i pipe:4-c拷贝输出。webm

我明白了,我想理想地使用某种ffmpeg绑定,但我会看看是否可以实现这一点。另外,如何处理范围请求?这是我不知道如何处理文档的事情。