ffmpeg从rtmp提取264裸流并推送rtsp
时间: 2024-09-24 12:08:28 浏览: 135
C#开发FFMPEG例子(API方式) FFmpeg拉取RTMP流并播放原始源码
ffmpeg可以从RTMP源提取H.264裸流,然后通过RTSP协议推流到另一端。要完成这个过程,你可以使用如下的基本命令结构:
```bash
ffmpeg -re -i "rtmp://192.168.2.200:1935/live1/123456" \
-c:v copy -map 0:v \
-f mpegts -payload_type 99 -ssrc ssrc_number \
"rtsp://target_host:target_port/live/stream_name"
```
这里解释一下各个参数:
- `-re` 和 `-i` 的用法与上一个问题一致,用于从RTMP获取输入。
- `-c:v copy` 仅保留视频流,并保持原始编码。
- `-map 0:v` 显式映射视频流到输出。
- `-f mpegts` 将输出格式设置为MPEG-TS,这是一种适合作为RTSP传输的容器格式。
- `-payload_type 99` 设置RTSP的Payload Type,99是一个常见的值。
- `-ssrc ssrc_number` 设置Source ID (SSRC),你需要分配一个唯一的数字给每个流。
- `"rtsp://target_host:target_port/live/stream_name"` 是目标RTSP服务器的URL,包括主机名、端口以及你想推送的流路径。
注意替换上述命令中的`target_host`, `target_port`, `stream_name`等为实际的RTSP服务配置。另外,SSRC通常会自动生成,如果不指定,FFmpeg会随机生成一个。
阅读全文