2017-08-15 55 views
0

IPカメラ、HikvisionブランドをFFmpegで正しく取得しようとしています。何がFFmpegので起こっているFFmpeg RTSP IPカメラをつかむ

 "ffmpeg", 
     "-rtsp_transport", "tcp", 
     "-stimeout", "3000000", 
     "-re", 
     "-i", stream, 
     "-vcodec", "copy", 
     "-acodec", "libfdk_aac", 
     "-f", "segment", 
     "-segment_list_type", "m3u8", 
     "-segment_list", name, 
     "-segment_list_size", "1", 
     "-segment_format", "mpegts", 
     "-segment_time", "5", 
     segment_filename, 

結果は、これらの警告が常にある:

出力ストリーム0で非単調なDTS [0x560d0df9d1e0 @セグメント]:0;前:33976、現在:7200; 33977に変更されます。これにより、出力ファイルにタイムスタンプが正しくない可能性があります。

私はこれらの警告に悩まされていますが、ストリームを再エンコードすることなくそれらを取り除く方法を知らないです。確かに私のタイムスタンプを台無しにしています。

答えて

0

あなたのカメラはRTCP(送信者レポートが正しく表示されている)を実装していないと推測しています。

RTPはメディアストリームに関するものです。 RTSPは、接続を設定する制御プロトコルです。 RTCPは送信者レポートです。

RTCPは、ウォールクロックとRTPタイムスタンプから正しいタイムスタンプを生成します。 RTCPの実装が間違っていると誤解しています。

Wiresharkを使用して、カメラが正しいタイムスタンプを与えていることを確認するか、デバッガでLive555を実行します。

+0

返信いただきありがとうございます。はい、あなたは正しいです。 Hikカメラはrtcp送信者要求を送信しません。私はffmpegドキュメントを検索しましたが、ストリームにウォールクロックを使用するようなオプションがあります。たぶん私は正しい方法を適用していませんが、より良いタイムスタンプのために私に結果を与えません –

+0

送信者の報告がなければ、良いタイムスタンプは得られません。 RTPタイムスタンプはランダムな開始値を持つ必要があり、オーバーフローしてロールバックすることがあります。送信者レポートで取得しないと、正しいタイムスタンプを構成できません。 –

関連する問題