无法播放从 FFMPEG 到 VLC 的视频流

ma0*_*0ho 5 vlc-media-player h.264 ffmpeg udp video-streaming

我正在尝试使用 FFMPEG 流式传输本地网络摄像头。出于测试目的,我在本地执行此操作并尝试使用 VLC(3.0.8、Windows 10)打开流。这就是我从 FFMPEG 进行流传输的方式:

ffmpeg -f dshow -i video="Microsoft Camera Front" -preset fast -s 1280x720
       -vcodec libx264 -tune ssim -b 500k -f mpegts udp://127.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

我可以使用无缝播放流

ffplay udp://127.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用 VLC 来实现此功能。我单击“打开网络流”并尝试不同的格式,例如udp://127.0.0.1:1234或。使用后者,它设法打开流,但不显示任何视频。但是,从编解码器信息窗口中,它甚至似乎检测到正确的编解码器(编解码器:H264 - MPEG-4 AVC(第10部分)(h264)。从统计窗口中,我注意到它接收的数据的比特率在40kb/s 和 100kb/s,考虑到我的传输速度约为 560kb/s,这似乎是合理的。udp://@:127.0.0.1:1234udp://@:1234

所以似乎只是不显示视频。在另一台装有 Windows 10 的电脑上也会发生同样的情况。你知道出了什么问题吗?预先感谢您的任何提示!

joe*_*not 3

在服务器(ffmpeg)和客户端(vlc)端添加数据包大小;

在 ffmpeg 中:

>ffmpeg -re -i "path/to/my/video.mp4" -vcodec libx264 -f mpegts udp://127.0.0.1:1234?pkt_size=1316
Run Code Online (Sandbox Code Playgroud)

在 vlc 中:

>udp://127.0.0.1:1234?pkt_size=1316
Run Code Online (Sandbox Code Playgroud)