2011-09-16 27 views
2

私は誰かが私にポインタを与えることを願って、私は時間の長いmp3の録音を作成するラジオのmp3ストリームを録音するコマンドを実行する下のコマンドを実行するPHPスクリプトがあります。それは私の目的のために非常にうまく動作します。唯一の問題は、録音が行われないことがあることです。限り、私はストリームが脱落してffmpegが終了するので、私はそれを伝えることができます。FFMPEGとドロップアウトでmp3ストリームを録音

/usr/local/bin/ffmpeg -i http://www.mystream.com:8000/radiostream.mp3 -t 60:00 -acodec copy /var/www/mydomain/audio/".$recorded_audio_title; 

だから私の質問は、継続的にドロップアウト自分のしている場合でも、記録を作るために60:00分記録するためのffmpegを伝えるためにとにかくありますか?私はそれが録音を完了したら、奇妙な沈黙のビットに満足しています。

これは意味があり、FFMPEGオプションまたはフラグへのポインタでさえ感謝したいと思います。 Googleを持っていれば、法案に合った何かを見たことがある。事前に

感謝

奪う

+0

への記録あなたのオーディオを分割するためのコマンド-segment ffmpegのを見てみてくださいファイルを使用すると、正確に60分長時間録音を受け取るために沈黙によってドロップされたストリームを完了したいですか? –

+0

いいえ、理想的には、ストリームの再接続時にストリームの記録を続けることができます。ドロップアウトは非常に短くなる傾向があります。最初は、他に選択肢がない場合は、完全な長さの録音(何も/大部分が無音であっても)は何もないよりも良いでしょう。 –

+0

@Robの場合、パケットスニッファを使用してストリームが機能していないことを確認する必要があります。それが接続エラーまたは何かを保持していることを確認します。また、単純なWGETで同じことを達成し、60分後に停止することも考えられます。サーバーが最初にバッファー(一般的には1MB)をプッシュするので、60分+ 1MB程度になる可能性があります。また、最後にMP3の破損を心配しないでください。私はこのメソッドを使用しているすべてのプレーヤーは、それをうまく処理します。 – Brad

答えて

0

はあなたが沈黙でストリーミングを落とし完了することによって、正確に60分のファイルを記録するために必要と仮定。

FFMPEGには、このような明示的なオプションはありません。しかし、あなたはそれをシミュレートすることができます。沈黙の60分のmp3を準備しなさい。ストリームを録画します。録音が終了したら、録音時間を確認してください。 60分未満の場合は、無音ファイルで録音に参加し、最終的な所要時間は60分にする必要があります。 Joining is described here.

EDIT:

は、あなたは自分の前の録画時間をチェックする必要があり、それが短すぎるかどう記録し続けるために - 別のファイル名で、再び同じFFMPEGのコマンドを実行して、2つのファイルを結合します。あなたは60を受け取るまでループこれは分が

+0

ありがとう、提案のために。問題は、ファイルが削除されてもファイルが作成されないことです。たとえば、20分後にストリームでドロップアウトしたとすると、FFMPEGはちょうど中断してファイルを作成しないように見えるため、何も参加しません。理想的な状況は、ストリームが復元されるまで(1秒から数秒後まで)FFMPEGがドロップアウトしても失敗しないように記録し続けることです。 –

+0

FFMPEGではこれができません。私はあなたに短い作品を録音し、それらに参加することをお勧めすることができます。この場合、生のオーディオに保存した場合、「ストリームを失うことがない」とデータを取得しない可能性があります... –

+0

をドロップアウトすることは少なくなります... – rogerdpack

関連する問題