ffmpeg和ffplay 推送和播放RTP流

ffmpeg 推送rtp流,保存成sdp文件,再用vlc播放sdp

下面这个是把abc.mp4文件推送到rtp://127.0.0.1:5004\abc.mp4端口,同时输出sdp文件到test_rtp_h264.sdp

-an参数的作用是只推送视频, 没推送音频.

bash 复制代码
ffmpeg -re -i d:\\abc\\abc.mp4  -an -f rtp rtp://127.0.0.1:5004\abc.mp4>D:\\abc\\test_rtp_h264.sdp
bash 复制代码
ffmpeg -re -i d:\\abc\\abc.mp4 -vcodec copy -map 0:v -an -f rtp rtp://127.0.0.1:5004\abc.mp4>D:\\abc\\test_rtp_h264.sdp
ffmpeg -re -i d:\\abc\\abc.mp4 -vcodec copy -an -f rtp rtp://127.0.0.1:5004\abc.mp4>D:\\abc\\test_rtp_h264.sdp

ffmpeg -re -thread_queue_size 4 -i guagnnianzhiwai.mp4 -strict -2 -vcodec copy -an -f rtp rtp://127.0.0.1:6008 -acodec copy -vn -sdp_file sdp_file.sdp -f rtp rtp://127.0.0.1:7008

使用ffmpeg生成SDP文件

bash 复制代码
ffmpeg -i "rtp://127.0.0.1:1234" -c copy -map 0 -f sdp output.sdp

其中,-i选项指定输入流的URL,-c copy选项表示不进行编解码,-map 0选项表示映射所有流,-f sdp选项表示输出SDP文件。执行该命令会将SDP文件保存到output.sdp文件中。

使用live555生成SDP文件

live555是一个开源的C++库,用于实现实时流协议(RTSP)和实时传输协议(RTP)。它提供了一些命令行工具,可以用来生成SDP文件。

首先,您需要编译live555库(可以从官网下载源代码并按照说明进行编译)。然后,使用openRTSP工具来生成SDP文件,例如:

bash 复制代码
openRTSP -D 1 -P -t -u "rtsp://127.0.0.1:554/live.sdp" > output.sdp

其中,-D 1选项表示只下载一个媒体流,-P选项表示打印SDP信息,-t选项表示下载超时时间为1秒,-u选项指定RTSP URL。执行该命令会将SDP文件输出到控制台,您可以将其重定向到文件中。

ffplay 播放rtp流:

bash 复制代码
ffplay -protocol_whitelist "file,udp,rtp" -i D:\\abc\\test_rtp_h264.sdp 

ffmpeg拉取rtp流,再把rtp流保存成mp4

bash 复制代码
ffmpeg -protocol_whitelist "file,rtp,udp" -i D:\\abc\\test_rtp_h264.sdp -strict -2  -vcodec copy -acodec copy -f mp4  saved_video_file.mp4

 
ffmpeg -protocol_whitelist "file,rtp,udp" -i D:\\abc\\test_rtp_h264.sdp  d:\\abc\\out.mp4
相关推荐
海带紫菜菠萝汤18 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
程序员老陆2 天前
FFmpeg6的滤镜函数解析
ffmpeg·音视频·avfilter
看浪的路人2 天前
第10讲:Python 调用 FFmpeg 批量处理——打造你的视频处理工具箱
python·ffmpeg·音视频
程序员老陆3 天前
FFmpeg 时间戳全解:从 av_rescale_q 到时间基黑洞
ffmpeg·音视频·时间基
水獭比特3 天前
自动成片没报错,为什么音画还会漂?
ffmpeg
Yeauty3 天前
2026 年在 Rust 里处理音视频,该走哪条路?
rust·ffmpeg·音视频·视频
勿忘初心12214 天前
【Windows流媒体实战1】FFmpeg+Nginx-RTMP Windows详细搭建教程
ffmpeg·nginx-rtmp·windows流媒体搭建·rtmp直播
勿忘初心12214 天前
【Windows流媒体实战2】SpringBoot2.x 整合FFmpeg 完整实操教程
ffmpeg·springboot·流媒体开发·nginx-rtmp·rtmp视频录制
Yeauty7 天前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg
Yeauty8 天前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频