2

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

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

我怎样才能做到这一点?有没有可用的教程?

我正在使用 Ubuntu 11.04 机器。

4

1 回答 1

2

我现在正在解决同样的问题。您可能想尝试查看的是 live555 livemedia library。 http://www.live555.com/liveMedia/

您可以使用该库流式传输 mp3、h264 视频、mpeg 等。它使用 UDP 和 RTSP,因此非常方便实时传输视频。ffmpeg 附带的 FFPlay 应用程序(包括 libavformat 在内的整套应用程序)可以播放 RTSP 流。你做类似的事情

avformat_open_input(&pFormatCtx, "rtsp://192.168.1.1/someFile.264", NULL, &optss)

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

如果您有预先录制的视频,则要简单得多,您只需提供视频文件,它就会为您完成工作。

于 2012-03-21T21:41:30.160 回答