使用libav库打包视频

时间:2012-03-19 10:23:56

标签: c++ libav

我正在尝试制作使用libav库的视频流服务器和客户端应用程序。

我希望服务器做的是简单地逐帧读取视频并将帧放入数据包然后将它们发送到客户端。当然,客户端必须能够从数据包中读取帧。

我该怎么做?有没有可用的教程?

我正在使用Ubuntu 11.04计算机。

1 个答案:

答案 0 :(得分:1)

我现在正在处理同样的问题。您可能想要查看的是live555 livemedia库。 http://www.live555.com/liveMedia/

您可以使用该库来播放mp3,h264视频,mpeg等。它使用UDP和RTSP,因此非常方便实时传送视频。 ffmpeg(包括libavformat等整个集合)中包含的FFPlay应用程序可以播放RTSP流。你做了类似

的事情

avformat_open_input(& pFormatCtx,“rtsp://192.168.1.1/someFile.264”,NULL和& optss)

您可以更改流式RTSP示例以插入编码器输出(可能类似于x264),以便在编码后立即发送内容。 (查看常见问题解答(http://www.live555.com/liveMedia/faq.html)。

如果你有预先录制的视频,那就更简单了,你只需要提供视频文件,它就可以为你完成工作。