标题:全网首发/Qt结合ffmpeg实现rist推拉流/可信赖的互联网流媒体协议/跨平台支持各个系统
作者:liudianwu
日期:2025-10-11 10:54
内容:
## 一、前言说明
现在音视频时代发展真快,各种协议层出不穷,一个是满足现在的需求,一个是为了满足新的需求,之前搞过rtmp、rtsp、srt、udp推拉流,现在又新出了个rist,乍一看还以为是rtsp的堂弟,其实不搭边的,RIST的全称是“Reliable Internet Stream Transport”(可信赖的互联网流媒体协议),它是一种专注于高效、安全传输音视频流的开放标准协议。RIST协议凭借其低延迟、高可靠性和广播支持能力,已成为流媒体传输领域的重要选择。对于需要大规模分发或复杂网络环境的应用(如直播、远程制作),RIST是更优解;而对于简单的点对点传输,SRT可能更轻量化。未来,随着5G和边缘计算的普及,RIST在实时交互场景中的潜力将进一步释放。
毫无疑问,作为宇宙第一音视频轮子的ffmpeg,支持rist也是必然的,大概从ffmpeg6开始就支持,用的是开源的rist库,不过支持很不友好,只能说偶尔可用,能够理解,毕竟这玩意才是刚出来的新鲜玩意,个人推荐用ffmpeg8,要稳定很多,但是偶尔还是会崩溃,可能还需要经过一段时间的磨合。现在ffmpeg飙版本很厉害,基本上一两年就一个大的版本,有些API接口还不兼容,导致网上很多文章提供的方法都行不通。用ffmpeg做rist的推拉流,和之前rtsp的推拉流完全一致,只不过封装容器和udp一样是mpegts,拉流的时候,地址前面要加个@符号,原因未知,可能这是协议规定要求吧,也有可能是ffmpeg内部的约定,比如推流地址rist://192.168.0.110:9001,拉流地址就是rist://@192.168.0.110:9001,如果不这样填,拉流不成功。
## 二、效果图
## 三、相关地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 文件地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_demo。
## 四、功能特点
1. 同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6)、ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6)、vlc内核(vlc2/vlc3)、 ..