私は gstreamer コミュニティの新参者で、.mp4 ファイルをデコードしてトレースするためのパイプラインを持っています。
gst-launch --gst debug=filesrc:7,queue:7,audioconvert:7,audioresample:7,qtdemux:7,faad:7,ffmpeg:7,audioresample:7,audioconvert:7,autoaudiosink:7,autovideosink:7, filesrc location=...! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! ffmpegcolorspace ! autovideosink > file1
「アイデンティティ」コンポーネントを挿入してデコードを妨害したところ、効果的に、画像が非常に遅くなり、音が消えました。私はこのコマンドを使用しました:
gst-launch --gst debug=filesrc:7,queue:7,audioconvert:7,audioresample:7,qtdemux:7,faad:7,ffmpeg:7,audioresample:7,audioconvert:7,autoaudiosink:7,autovideosink:7, filesrc location=...! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! identity sleep-time=1000000 ! ffdec_h264 ! ffmpegcolorspace ! autovideosink > file2
初めてこの実行を行ったとき、file2 に 2 つの新しい関数が表示されました。
(i) gst_ffmpegdec_chain...「スキップ中...」、
(ii) gst_ffmpegdec_video_frame...「ドロップ中..」
意味は、一部のデータがドロップされたか、または何か他のものであると想定しました
ただし、何日もの間、同じビデオをデコードする同じパイプラインを使用しています。私は同じ悪い視覚化を取得しますが、ファイル2の新しい関数:(唯一の違いは、以下の関数の発生数です:
*gst_ffmpegdec_update_qos:...'update* 1ケースで558回
*gst_ffmpegdec_update_qos:...'update* それ以外の場合は 4 回
「skipping..」と「dropping..」で乱れたトレースを再度作成できない理由がわかりません。
私の質問は次のとおりです。
1-上記の関数の意味について何か考えがありますか?
2- A/V デコード処理を妨害するのに役立つコンポーネントを他に知っていますか?
返信ありがとうございます