2014-07-17 17 views
8

Belirli aralıklarla bir RTMP canlı video akışının anlık görüntüsünü almak istiyorum. VLC kullanarak rtmp video akışını görebiliyorum.FFmpeg: NetStream.Play.StreamNotFound on RMTP akışı

:

ffmpeg -i rtmp://antena3fms35livefs.fplive.net/antena3fms35live-live/stream-antena3_1 -f image2 -vf fps=fps=1 out%d.png 

komut şu çıktıyı üretir: resmi FFmpeg sitesine here göre

rtmp://antena3fms35livefs.fplive.net/antena3fms35live-live/stream-antena3_1 

Ben anlık çekimleri için aşağıdaki komutu kullanıyorum: Bu rtmp url'dir

ffmpeg version N-64667-gd595361 Copyright (c) 2000-2014 the FFmpeg developers 
    built on Jul 14 2014 22:09:48 with gcc 4.8.3 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzl 
libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amr 
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --ena 
    libavutil  52. 92.100/52. 92.100 
    libavcodec  55. 69.100/55. 69.100 
    libavformat 55. 47.100/55. 47.100 
    libavdevice 55. 13.102/55. 13.102 
    libavfilter  4. 10.100/4. 10.100 
    libswscale  2. 6.100/2. 6.100 
    libswresample 0. 19.100/0. 19.100 
    libpostproc 52. 3.100/52. 3.100 
HandShake: client signature does not match! 
Closing connection: NetStream.Play.StreamNotFound 
rtmp://antena3fms35livefs.fplive.net/antena3fms35live-live/stream-antena3_1: Unknown error occurred 

Başka bir rmtp akışında denedim, ancak yine de aynı hatayı alıyorum.

Sorun ne olabilir? Teşekkür ederiz!

+0

Bu hata, ffmpeg'in URL'yi nasıl ayrıştırılacağını "tahmin etmeyi" başaramadığı anlamına gelebilir. Aynı hata rtmpdump'ta gösterilir ve URL'yi açıkça -y bayrağıyla yazarak giderilir. ffmpeg de benzer bir özelliği ([rtmp_playpath parametresi] (https://www.ffmpeg.org/ffmpeg-protocols.html)) doğru değeri iletmek için – BornToCode

cevap

12

Sadece senin emrini denedim ve benim için iyi çalıştı. Belki de FFMPEG kurulumunuz hakkında bir şey var mı? Mac (tessus build) üzerinde 2.4 sürümünü kullanıyorum.

Diğer/eski sürümlerin, akış URL'sinin arkasında bazı ek seçenekler gerektiren, rtmp bağlantıları için "librtmp" kullandığını biliyorum. ffmpeg documentation on librtmp

Ve librtmp burada docs: Burada ffmpeg belgeler Bkz korunmasız bir canlı akış için librtmp documentation

, sen akışı URL'yi alıntı ve ekleme deneyebilirsiniz "Canlı = 1" tırnak içinde:

ffmpeg -i "rtmp://antena3fms35livefs.fplive.net/antena3fms35live-live/stream-antena3_1 live=1" -f image2 -vf fps=fps=1 out%d.png 
+4

'a sahip olduğunu varsayalım Teşekkür ederiz! Bu "live = 1" parametresi problemimi çözdü! – user2957378

+1

Hem mac hem de linux (ubuntu) üzerinde 2.8.6 kullanıyorum. Mac iyi çalışıyor, canlı = 1, ancak ubuntu bunu gerektiriyor. Farkın ne olduğu hakkında bir fikrin var mı? – chovy

+0

Awesome, ayrıca '2.8.11-0ubuntu0.16.04.1' sürümüyle linux konusunda da yardımcı oldu. –