私はコンピュータ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
コンピュータAのvlcで「rtp://@230.0.0.1:5005」のライブストリームを再生できます。ただし、VLCで「rtp://@230.0.0.1:5005」を開こうとすると、コンピュータAと同じネットワーク上のコンピュータBのストリームを再生できません。
http経由でmp4ファイルを転送すると、コンピュータBで再生できます。 http ストリーミングの場合は、VLC -> メディア -> ストリーミング -> (mp4 ファイルを追加) に進み、A のポート 8080 から HTTP にストリーミングします。次に、マシンBのVLCで「http://serverip:portnumber」を使用します。
私がここで何を間違っているのか?
答え1
UbuntuがRTPストリームを受信できないのはなぜですか?
これはマルチキャストアドレスを使用しており、230.0.0.1
現在の設定には2つのホスト間にマルチキャストパスがないためです。
したがって、この問題を解決する現在の方法の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