我很困惑,这个问题有点困扰。我在Google上能找到的只是转码软件的基本用法,与问题无关。

我正在做一个游戏,我想包括本机捕获功能以流式传输视频。我非常想将其流式传输到像VLC这样的标准客户端。它既需要采用可识别的格式,又需要对其进行多路复用才能使其正常工作。

因此,我的问题是,我知道如何将原始视频帧中的内容编码为x264(另请参见How does one encode a series of images into H264 using the x264 C API?)。我知道如何将原始音频样本编码为ogg / vorbis。现在,如何为VLC放一个和一个?

最佳答案

x264不是流格式。它是一个软件。该软件将视频编码为H.264视频格式。 AFAIK,它不会将视频+音频混合到MP4或AVI容器文件中。查看ffmpeg / libav中的完整套件。还有其他程序可以复用视频和音频流。

这是我执行的实验:

youtube-dl "http://www.youtube.com/watch?v=0Bmhjf0rKe8"
avconv -i 0Bmhjf0rKe8.flv -vn -c:a libvorbis -b:a 64k 0Bmhjf0rKe8.ogg
avconv -i 0Bmhjf0rKe8.flv -c:v copy -bsf:v h264_mp4toannexb -an 0Bmhjf0rKe8.h264
avconv -i 0Bmhjf0rKe8.h264 -i 0Bmhjf0rKe8.ogg -c copy 0Bmhjf0rKe8.mkv
mplayer 0Bmhjf0rKe8.mkv
avconv -i 0Bmhjf0rKe8.flv -i 0Bmhjf0rKe8.ogg -c copy -map 0:0 -map 1:0 0Bmhjf0rKe8.mp4
mplayer 0Bmhjf0rKe8.mp4

您应该可以使用libav以编程方式执行此操作。

07-26 09:06