功能简介:
使用QT+FFMPEG实现了RTSP视频流播放的基础操作,点击按钮后,将拉取指定地址的RTSP流,并在QT界面中通过Label显示
开发环境:
- 系统环境:Ubuntu
- QT:5.12.12
- FFmpeg:4.4(当前最新)
完整工程:
https://github.com/harry19902002/ffmpeg-first-demo
参考代码:
FFMPEG官方示例:FFmpeg: decode_video.c
详细介绍:
(一)添加库文件
新建一个QT工程,在pro添加lib目录和include目录的路径。
##ffmpeg
FFMPEG_LIB = /usr/local/ffmpeg/lib
FFMPEG_INCLUDE = /usr/local/ffmpeg/include
INCLUDEPATH += $$FFMPEG_INCLUDE \
LIBS += $$FFMPEG_LIB/libavcodec.so \
$$FFMPEG_LIB/libavdevice.so \
$$FFMPEG_LIB/libavfilter.so \
$$FFMPEG_LIB/libavformat.so \
$$FFMPEG_LIB/libavutil.so \
$$FFMPEG_LIB/libswresample.so \
$$FFMPEG_LIB/libswscale.so \
(二)界面配置
在MainWindow.ui中,添加一个QPushButton和QLabel控件,并添加“转到槽”,添加on_pushButton_clicked()。
(三)Delay函数
#include <QTime>
//以毫秒为单位设置延时
void Delay(int msec)
{
QTime dieTime = QTime::currentTime().addMSecs(msec);
whil