请用c++写一个能拉rtsp视频流的代码,用ffmpeg实现
时间: 2023-02-07 13:43:26 浏览: 255
你好!那么,我们可以使用 ffmpeg 库中的 avformat_open_input 函数打开 RTSP 视频流,然后使用 avformat_find_stream_info 函数查找视频流信息,最后使用 av_read_frame 函数读取帧数据。
代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <libavformat/avformat.h>
int main(int argc, char *argv[]) {
// 初始化 ffmpeg 库
av_register_all();
// 打开视频流
AVFormatContext *format_context = NULL;
if (avformat_open_input(&format_context, "rtsp://video_url", NULL, NULL) != 0) {
fprintf(stderr, "Could not open input stream.\n");
return 1;
}
// 查找视频流信息
if (avformat_find_stream_info(format_context, NULL) < 0) {
fprintf(stderr, "Could not find stream information.\n");
return 1;
}
// 读取帧数据
AVPacket packet;
while (av_read_frame(format_context, &packet) >= 0) {
// 处理帧数据
// ...
av_packet_unref(&packet);
}
// 关闭视频流
avformat_close_input(&format_context);
return 0;
}
```
希望这对你有帮助!
阅读全文