2017-10-03 8 views
0

オーディオストリームからX秒をファイルに保存しようとしています。私はRTSPサーバーを持っており、このサーバーから数秒間ファイルを保存するためにPythonで単純なスクリプトを作成しました(.wav)。ファイルへのRTSPストリームの記録(.wav)

def main(): 
    ########################### MAIN INIT ########################### 

    instance = vlc.Instance("-vvv", "--no-video", "--clock-jitter=0", "--sout-audio", "--sout", 
          "#transcode{acodec=s16l,channels=2}:std{access=file,mux=wav,dst=test.wav}") 

    # Create a MediaPlayer with the default instance 
    player = instance.media_player_new() 

    # Load the media file 
    media = instance.media_new("rtsp://XXX.XX.XXX.XX:YYYY/") 

    # Add the media to the player 
    player.set_media(media) 

    # Play for 10 seconds then exit 
    player.play() 
    time.sleep(10) 


if __name__ == '__main__': 
    main() 

しかし、私は、スクリプトを実行すると、それは私が待っている何、それはファイル「test.wav」を作成しますが、それは代わりにwavファイルのテキスト・プレーン・ファイルです。

ログは私に次の情報を表示:

[00000000022aec08] core input error: ES_OUT_RESET_PCR called 
[00007f6704040518] core decoder error: cannot continue streaming due to errors 

だから私は本当に私を助けることができる誰かに感謝しています。 ありがとうございます。

答えて

0

WAVファイルは、あなたはおそらく知っているように異なる情報を表現する異なるフィールドで構成されている - このリンク(https://github.com/kushalpandya/WavStagno)から、ここでexmampleを参照してください。

enter image description here

あなたの出力が正しくフォーマットされていないようですね - そこ始めるのに適したWAVファイルを調べるためのツールです。ここでファイルへのリンクを共有することができれば、人々は見てみることができます。

何をやろうとしていることは、ストリームに耳を傾けると同時に、それを保存することで、その後、あなたはおそらく重複した機能を使用したい場合は - 神の例は、(ベースのビデオが)ここにあります:https://stackoverflow.com/a/16758988/334402

関連する問題