什么是ffmpeg的UDP协议?
这是另一个问题的例子
ffmpeg -i udp://localhost:1234 -vcodec copy output.mp4
Or try:
ffmpeg -i rtp://localhost:1234 -vcodec copy output.mp4
Run Code Online (Sandbox Code Playgroud)
RTP和UDP流是否类似协议或UDP数据包包含我可以使用-f segement选项创建的相同文件?
小智 6
ffmpeg 中的 udp:// 意味着它将流/解析直接视频/音频内容(例如 H.264)到/从 UDP 网络数据包,没有中间协议。
rtp://另一方面,增加了另一层封装,视频/音频内容将被封装到一个RTP包中,RTP包将依次封装到UDP包中。
RTP 更适合媒体流,因为它包括时间戳和排序信息。原始 UDP 数据包缺乏该信息,更容易出现乱序和丢弃数据包,从而导致视频/音频伪影。
小智 4
用户数据报协议。
UDP URL 所需的语法是:
udp://hostname:port[?options]
Run Code Online (Sandbox Code Playgroud)
options 包含以 & 分隔的选项列表,其形式为 key=val。
如果系统上启用了线程,则会使用循环缓冲区来存储传入数据,这可以减少由于 UDP 套接字缓冲区溢出而导致的数据丢失。fifo_size 和 overrun_nonfatal 选项与此缓冲区相关。
支持的选项列表如下。
使用 ffmpeg 通过 UDP 流式传输到远程端点:
ffmpeg -i input -f format udp://hostname:port
Run Code Online (Sandbox Code Playgroud)
使用 ffmpeg 使用 188 大小的 UDP 数据包通过 UDP 以 mpegts 格式进行流式传输,并使用较大的输入缓冲区:
ffmpeg -i input -f mpegts udp://hostname:port?pkt_size=188&buffer_size=65535
Run Code Online (Sandbox Code Playgroud)
使用 ffmpeg 通过 UDP 从远程端点接收:
ffmpeg -i udp://[multicast-address]:port ...
Run Code Online (Sandbox Code Playgroud)
你可以在 man Commande 中找到一些提示!
| 归档时间: |
|
| 查看次数: |
17098 次 |
| 最近记录: |