我的问题主要来自于我有两个不同的视频播放流,并且必须在内存中实时复用它们。一个用于视频,另一个用于音频。
我的目标是创建一个代理,它可以从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之外的其他管道(文件(。
假设您有一个视频流和一个音频流,分别连接到3和4。命令的ffmpeg位变为:
ffmpeg-i管道:3-i管道:4-c复制输出.webm