FFMPEG命令用于将视频流式传输到多播地址


4

我需要将视频流式传输到多播地址。我听说使用FFMPEG我们可以流式传输内容。我使用以下命令来流式传输到多播地址

ffmpeg.exe -i input -vcodec copy -acodec copy -f mpegts -re "udp://239.101.101.1:1234?ttl=1&pkt_size=1316".

但我无法在vlc中查看视频,也无法在另一个系统中查看ffmpeg。我需要查看另一台机器的内容。我做错了什么......请帮帮我。

Answers:


2

首先,您应该验证UDP数据包是否到达了播放器系统。

播放器系统是否可以直接从播放器系统访问?如果UDP路由器没有通过将UDP端口1234添加到转发列表而专门转发到正确的计算机,则NAT路由器将阻止UDP数据包。

接下来,您可以通过侦听UDP端口来验证播放器计算机是否收到数据包(假设您的物理接口是eth0,如果不使用系统使用的接口,则)。

sudo tcpdump -i eth0 dst port 1234

如果收到数据包,则尝试从播放器软件中读取日志,检查是否可以识别解码问题。


也许检查VLC是否可以先将其流式传输到多播?
rogerdpack

1
  • '-re'标志应用于输入而不是输出,您的命令将无法正常工作。

  • 你将你的ttl设置为1,这将阻止你在第一个路由器,碰撞它,看看会发生什么。

这是我所知道的最简单的方法。

    ffmpeg -i Plan_9_from_Outer_Space_1959.mp4 -c copy -f mpegts  'udp://239.0.0.1:1234?ttl=13'

玩mplayer。

    mplayer udp://239.0.0.1:1234

0

全范围的多播地址从224.0.0.0239.255.255.255 运行FFmpeg命令后,转到同一网络中的任何PC都在VLC中使用它

udp://@[IP]:[port]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.