Video
為什麼在 Ubuntu 上收不到 rtp 流?
我正在使用電腦 A 中的 ffmpeg 通過 rtp 流式傳輸桌面。這是我的 ffmpeg 程式碼:
ffmpeg -f x11grab -framerate 25 -video_size 1920x1080 -i :1.0 -c:v libx264 -preset fast -pix_fmt bgr0 -b:v 3M -g 25 -an -f rtp_mpegts rtp://230.0.0.1:5005
我可以在“rtp://@230.0.0.1:5005”的電腦A中播放vlc中的直播流。但是我無法通過嘗試在 VLC 中打開“rtp://@230.0.0.1:5005”來播放與電腦 A 在同一網路中的電腦 B 的流。
如果我通過 http 流式傳輸 mp4 文件,則電腦 B 能夠播放它。對於 http 流,我只需轉到 VLC -> 媒體 -> 流 ->(添加 mp4 文件),並在 A 上的 8080 埠以 HTTP 格式流式傳輸。然後在機器 B 上的 VLC 中使用“http:/”打開它/伺服器IP:埠號”。
我在這裡做錯了什麼?
為什麼在 Ubuntu 上收不到 rtp 流?
因為您使用的是多播地址
230.0.0.1
,而您目前的設置在兩台主機之間沒有多播路徑。因此,目前解決問題的一種方法是使用單播傳輸。只需更改
230.0.0.1
您要觀看的主機的 IP 地址即可。ffmpeg -f x11grab -framerate 25 -video_size 1920x1080 -i :1.0 -c:v libx264 -preset fast -pix_fmt bgr0 -b:v 3M -g 25 -an -f rtp_mpegts rtp://a.b.c.d:5005
a.b.c.d
Ubuntu 主機的 IP 地址在哪裡。然後,在 Ubuntu 主機上,您可以執行以下操作:
vlc rtp://@:5005