3.gstreamer UDP推流RTP及拉流播放

目录

 

1、将H264数据流打包为RTP包,然后UDP推流

2、UDP client拉流,然后RTSP传输

3、easyplayer-rtsp.exe播放器播放RTSP数据流


将H264打包为RTP包,然后通过UDP传输,这样的优点是数据采集和传输分开,便于扩展性管理。

1、将H264数据流打包为RTP包,然后UDP推流

在虚拟机Ubuntu中打开一个命令行,然后输入命令:

gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! 'video/x-raw,format=(string)NV12,width=640,height=480,framerate=(fraction)30/1' ! queue ! x264enc ! "video/x-h264" ! rtph264pay name=pay0 pt=96 ! udpsink host=127.0.0.1 port=5000 sync=false

2、UDP client拉流,然后RTSP传输

在虚拟机Ubuntu中打开另一个命令行,然后输入命令:

./test-launch "( udpsrc port=5000 caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264\" ! rtph264depay ! rtph264pay name=pay0 )"

其中test-launch是gstreamer RTSP推流模块,此模块的下载、编译参考如下链接:gstreamer USB摄像头RTSP推流_pengyouhai的专栏-CSDN博客

3、easyplayer-rtsp.exe播放器播放RTSP数据流

播放效果图:

如果视频播放失败,请先查看是否能ping通,如果ping 不通则是网络的问题。需要PC与ubuntu在同一个网段。

完结!

FFmpeg是一个功能强大的跨平台多媒体处理工具,常用于视频编码、解码、媒体操作,包括从本地文件或实时摄像头捕获内容送到网络,以及从网络取并播放。在局域网(LAN)中使用FFmpeg,主要涉及以下几个步骤: 1. ****: - **设置编码器**: 使用如-h264enc或-vp9enc选项配置视频编码器,-acodec aac或libopus配置音频编码器。 - **创建RTSP或HTTP**: FFmpeg支持多种协议,如RTMP、RTSP、HTTP Live Streaming (HLS)等。比如使用`-f rtsp`送到RTSP服务器,`-f flv`送到RTMP服务器。 - **指定目标地址**: 指定网络上可以访问的服务器地址和端口,例如`-rtsp_transport tcp`指定TCP协议。 2. ****: - **解析URL**: 根据使用的协议,如RTSP URL、RTMP URL或HLS播放列表URL,使用FFmpeg解析并连接到源。 - **解码器配置**: 设置相应的解码器,如`-decoders`选项来启用特定解码器。 - **播放**: 使用`ffplay`命令行工具播放取的,或者在其他应用程序中集成FFmpeg解码器。 3. **局域网限制与注意事项**: - 在局域网环境下,确保防火墙设置允许进出量,特别是RTSP或UDP端口。 - 的性能取决于网络带宽和设备性能,可能需要调整码率以适应网络条件。 **相关问题--:** 1. 如何在FFmpeg中设置合适的码率以优化局域网? 2. FFmpeg如何处理RTSP和RTMP协议的兼容性问题? 3. 在局域网环境下,FFmpeg是否需要特定的服务器软件支持?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值