を実行します。このコマンドを使用して標準出力にストリームの情報を送信することができます
rtmpdump -v -m6 -B6 -r "rtmp://#{URL}" -o /tmp/test.flv &> /tmp/rtmpdump.info; cat /tmp/rtmpdump.info
これは、しようとしますちょうど6秒のビデオを録画し、その結果が何かを表示します。ストリームのような出力に何かをされます実行している場合:
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
ERROR: Closing connection: NetStream.Play.Failed
ここから取られた公共のRTMPストリームでの作業例です:ストリームが実行されていない場合
INFO: Connected...
Starting Live Stream
For duration: 6.000 sec
INFO: Metadata:
INFO: trackinfo:
INFO: timescale 50000.00
INFO: length 19686000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype avc1
INFO: timescale 48000.00
INFO: length 18900992.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype mp4a
INFO: audiochannels 2.00
INFO: audiosamplerate 48000.00
INFO: videoframerate 25.00
INFO: aacaot 2.00
INFO: avclevel 31.00
INFO: avcprofile 77.00
INFO: audiocodecid mp4a
INFO: videocodecid avc1
INFO: width 1047.00
INFO: height 576.00
INFO: frameWidth 720.00
INFO: frameHeight 576.00
INFO: displayWidth 1047.00
INFO: displayHeight 576.00
INFO: framerate 25.00
INFO: moovposition 32.00
INFO: duration 393.77
2033.613 kB/6.02 sec (1.5%)
Download may be incomplete (downloaded about 1.50%), try resuming
を/それはのような出力に何かがします失敗VLCStreamTester:ルビーとここから
require 'open3'
rtmp_url = "stream.streetclip.tv:1935/live/high-stream"
command = "rtmpdump -v -m6 -B6 -r \"rtmp://#{rtmp_url}\" -o /tmp/test.flv &> /tmp/rtmpdump.info; cat /tmp/rtmpdump.info"
Open3.popen3(command) do |i, o, e, t|
puts o.read
end
あなたは簡単に(キーワードの出力を読んで)一つのストリームがアクティブであるかどうかをチェックし、その後で録音するかどうかを決めることができます通常のrtmpdumpコマンド。この後、必要な自動化を実現するために、より多くのロジックを構築し、単一のURLの代わりにURLの配列をループすることができます。
は、Red5メディアサーバーによる信号検出の方法です。また、VLCプロセスでリスナーを設定することもできます。私は決してそれをやったことがないように詳細を与えることはできませんが、私は両方のドキュメントセットでこれに関連するものを見てきました。助けてくれる希望 – Alex