RTSPソースフィルタでGDCL MP4 Muxerを使用しようとしています。グラフを停止した後で、ファイルをファイナライズしないでファイルライタを介してファイルの最後に書きます(一部の部分はmoovから始まり、時間表の値は書き込まれません)。別のRTSPソースフィルタ(ソースコードがない)を試すと、GDCL MP4 Muxerでテーブル値が作成されます。RTSPソースフィルタとGDCL MP4 Muxerの非互換性
しかし、ElecardのMP4 Muxerを試してみると、RTSPソースフィルタでうまく動作します。したがって、非互換性があります。私はGDCLのソースコードを調べましたが、私が期待していたものを見つけることができませんでした。私はすでにSetTime
メソッドを使ってサンプルにタイムスタンプ値を計算して設定します。しかし、GDCLはまだファイルを細かくしません。グラフが停止したときに情報が欠落しているか、信号が欠落していますか?どのような問題、任意のアイデアになることができますか?
muxerに出力ファイルをファイナライズするためにEOS通知を送信する必要がある場合があります。 –
私は同意してDeliverEndOfStream()でそれを試しましたが、うまくいきませんでした。そして、変わった部分は、 "moov"セクションが最後に作成されている(約600バイトの長さ)が、テーブル値だけが失われているということです。だから、muxerはストリーミングが終わったことを知っていますが、仕事を終わらせません。これらのテーブルはフレームのタイムスタンプ値などであるため、時間情報が不足していると考えられます。私はSetTimeを追加し、いくつかの他のmuxerが動作を開始します。私もメディアの時間を送ろうとしました。今回はGDCL mp4 muxerがストリームの先頭でクラッシュし、他のmuxerが動作しました。 –
私はGDCL mp4 muxerをデバッグし、何が間違っているかを見ていきたいと思います。私は何かが明らかでないかどうか質問した。 –