音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流

通过FFmpeg命令可以将一个媒体文件转推RTP:

bash 复制代码
ffmpeg -re -stream_loop -1 -i input.mp4 -c:v copy -an -f rtp rtp://192.168.0.102:5400

但是通过ffplay尝试播放上述产生的RTP流时会报错:"Unable to receive RTP payload type 96 without an SDP file describing it"。这是由播放RTP视频时未提供对应的SDP文件导致。SDP文件包含有关媒体流的详细信息(例如编解码器类型和参数、传输协议和端口等),没有SDP文件,ffplay等播放器就无法正确地解析RTP数据包并进行播放:

所以修改转推RTP的FFmpeg命令如下:

bash 复制代码
ffmpeg -re -stream_loop -1 -i input.mp4 -vcodec copy -an -f rtp rtp://192.168.0.102:6005 -acodec copy -vn -sdp_file XXX.sdp -f rtp rtp://192.168.0.102:7005

其中:

-re参数:以原始帧速率读取输入。即按时间戳读取文件,以本地帧频读数据。该参数可以避免需要被转推的本地媒体文件一下子就被读完了。

-stream_loop参数:循环次数。该参数可以使得需要被转推的本地媒体文件被读取完后可以循环读取。值为-1表示无限循环。

执行上述命令后,ffmpeg所在目录下会生成SDP文件:

通过命令:ffmpeg -protocol_whitelist "file,rtp,udp" -i XXX.sdp 可以查看生成的RTP流的信息:

通过命令:ffplay -protocol_whitelist "file,rtp,udp" -i XXX.sdp 可以播放生成的RTP流:

相关推荐
沐尘而生3 小时前
【AI智能体】智能音视频-硬件设备基于 WebSocket 实现语音交互
大数据·人工智能·websocket·机器学习·ai作画·音视频·娱乐
nightunderblackcat5 小时前
进阶向:Python音频录制与分析系统详解,从原理到实践
开发语言·python·音视频
Antonio91517 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
开发者工具分享17 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
开开心心_Every19 小时前
便捷的Office批量转PDF工具
开发语言·人工智能·r语言·pdf·c#·音视频·symfony
karmueo461 天前
视频序列和射频信号多模态融合算法Fusion-Vital解读
算法·音视频·多模态
昨日之日20061 天前
Video Background Remover V3版 - AI视频一键抠像/视频换背景 支持50系显卡 一键整合包下载
人工智能·音视频
xmode2 天前
centos7.9安装ffmpeg6.1和NASM、Yasm、x264、x265、fdk-aac、lame、opus解码器
ffmpeg·centos
站在巨人肩膀上的码农2 天前
全志T507 音频ALSA核心层注册流程分析
驱动开发·音视频·安卓·全志·alsa·声卡
王江奎2 天前
FFmpeg 升级指北
ffmpeg