当前位置:首页 » 云服务器 » 流媒体服务器搭建获取推流码

流媒体服务器搭建获取推流码

发布时间: 2024-09-26 15:18:36

A. FFmpeg 代码实现流媒体推流(RTSP)

最近需要做实时录屏并把视频推流到RTSP服务器,具体流程是抓取屏幕内容(bitmap),并把bitmap转化为YUV,接着把YUV编码成H264,再把H264码流推到RTSP服务器;把采集到的PCM编码为AAC,再把AAC推流至RTSP服务器。

看了雷神的一篇文章: 最简单的基于FFmpeg的推流器(以推送RTMP为例) ,他是把本地的视频文件推流至RTMP服务器,并不符合我的要求。
接着我找到另一篇文章: ffmpeg实现H264压缩并且推流至RTSP ,这篇文章只有图像编码,并没有音频编码,并且推流之后并没有播放成功。
我综合上面两位大佬的思路,和查找一些资料实现了这个功能。

RTSP服务器使用的是 HappyTime 的免费试用版本。

我抓到的bitmap是BGRA格式的,所以使用的图像格式是 AV_PIX_FMT_BGRA cropImage 是含有rgba图像的数组

调用:

由于我是实时抓取的屏幕, frame_yuv->pts 设为当前的时间戳,以保证能正常播放。

调用:

调用:
其中pcm_buff是包含pcm数据的数组

使用udp传输时传到1400多帧就断开链接了,原因不明,所以改用使用tcp协议传输

延迟有1.5秒左右

参考:
https://blog.csdn.net/leixiaohua1020/article/details/39803457
https://blog.csdn.net/yunge812/article/details/79345584
https://trac.ffmpeg.org/wiki

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:766
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1030
python中的init方法 发布:2025-10-20 08:17:33 浏览:737
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:902
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:796
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1143
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:368
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:245
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:929
python股票数据获取 发布:2025-10-20 07:39:44 浏览:893