音视频入门基础: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流:

相关推荐
开开心心就好11 小时前
专业鼠标点击器,自定义间隔次数
javascript·安全·计算机外设·excel·音视频·模拟退火算法
却道天凉_好个秋14 小时前
音视频学习(四十七):模数转换
音视频
DogDaoDao15 小时前
WebRTC前处理模块技术详解:音频3A处理与视频优化实践
音视频·webrtc·实时音视频·视频增强·视频前处理·3a算法·音频前处理
却道天凉_好个秋17 小时前
音视频学习(五十):音频无损压缩
音视频·无损压缩
雪域迷影17 小时前
使用AssemblyAI将音频数据转换成文本
java·音视频·restapi·gson·assemblyai
木卯_THU17 小时前
TGD第九篇:三维应用——视频边缘检测
计算机视觉·音视频·边缘检测·遮挡检测·tgd·视频内容理解·视频边缘检测
xduryan18 小时前
1 - 视频处理IP核之Video In to AXI4-Stream
fpga开发·音视频
驭风少年君18 小时前
【视频内容创作】PR的关键帧动画
音视频·pr·视频剪辑·关键帧·内容创作
余俊晖18 小时前
图像、视频、音频多模态大模型中长上下文token压缩方法综述
人工智能·音视频
aningxiaoxixi21 小时前
安卓audio 架构解析
java·架构·ffmpeg