yuki.shigefuji
2024年1月9日 14時24分
お世話になっております。
表題の件で、過去に https://armadillo.atmark-techno.com/forum/armadillo/14749 で頂いたコードを使用しGstreamerを使用しているのですが、
vpuenc_h264
のパイプラインてGstreamerを使用すると、たまにフリーズが発生し、
再起動するまで同じパイプラインを使用したGstreamerが動作しなくなります。(Pythonのプロセスを削除し再起動しても動作しない)
その状態の時bashで以下のコマンドを実行したときも、フリーズし、からの動画ファイルができます。(応答が返ってきません)
gst-launch-1.0 videotestsrc num-buffers=300 ! videoconvert ! video/x-raw,width=1280,height=720,framerate=30/1 ! queue ! vpuenc_h264 ! h264parse ! qtmux ! filesink location=output.mp4 sync=false
なおその状態でも以下のコマンドは実行でき、動画ファイルが正しく出力されます。
gst-launch-1.0 videotestsrc num-buffers=300 ! videoconvert ! x264enc ! mp4mux ! filesink location=output.mp4 sync=false
何か対処できる方法はございますでしょうか?
コメント
yuki.shigefuji
お世話になっております。
事象としては以下の通りです。
・不具合までの発生に最短6時間~最長24日ほどかかる
また、以下のようなことを調査しておりますので共有します。
------------------------------------------------------------------------------------------------
・linuxのシェルコマンドで実行しても同様に返答がない(空ファイルのみ出力された状態で停止する)
gst-launch-1.0 videotestsrc num-buffers=300 ! videoconvert ! video/x-raw,width=1280,height=720,framerate=30/1 ! queue ! vpuenc_h264 ! h264parse ! qtmux ! filesink location=output.mp4 sync=false
・以下のコマンドを実行すると正常に出力される
gst-launch-1.0 videotestsrc num-buffers=300 ! videoconvert ! avimux ! filesink location=output.avi
このことから「vpuenc_h264 」を使用したエンコードに問題があるのではないと考えています。
> 佐藤です。
>
> 現象を発生させるための最小限のコードを提供していただくことは可能でしょうか。
ファイル | ファイルの説明 |
---|---|
capture_test.txt |
at_makoto.sato
yuki.shigefuji
at_makoto.sato
佐藤です。
> テストコードの提供から一週間が経過いたしましたがその後どのような状況になっていますでしょうか。
> 可能であれば調査状況の共有をよろしくお願いいたします。
テストコードをいただいてからこちらでも約一週間連続動作させていますが、まだ発生していない状況です。
もし可能でしたら、そちらでもプログラムを実行する前に以下のように GST_DEBUG=3 をつけて実行していただけますでしょうか。
[container]# GST_DEBUG=3 python3 capture_test.py
これでもし現象が発生した場合はその時のログをいただければと思います。
yuki.shigefuji
お世話になっております。
デバッグレベル4で動作させフリーズした物と正常に動作している物を共有致します。
しかしフリーズする物としない物を比較した所変化が無いため原因の特定にはこちらでは至っておりません。
以上、ご確認よろしくお願いいたします。
> 佐藤です。
>
> > テストコードの提供から一週間が経過いたしましたがその後どのような状況になっていますでしょうか。
> > 可能であれば調査状況の共有をよろしくお願いいたします。
> テストコードをいただいてからこちらでも約一週間連続動作させていますが、まだ発生していない状況です。
> もし可能でしたら、そちらでもプログラムを実行する前に以下のように GST_DEBUG=3 をつけて実行していただけますでしょうか。
>
> [container]# GST_DEBUG=3 python3 capture_test.py >
> これでもし現象が発生した場合はその時のログをいただければと思います。
ファイル | ファイルの説明 |
---|---|
gst_debug_174.log | 機器停止が起きず正常に動作しているログ |
gst_debug_220.log | 機器停止が起きたログ |
at_makoto.sato
佐藤です。
ログありがとうございます。
現象が発生している状態だと、 以下のコマンドを実行してもフリーズするとのことですが、この時のログはどうなってますでしょうか。
GST_DEBUG=3 gst-launch-1.0 videotestsrc num-buffers=300 ! videoconvert ! video/x-raw,width=1280,height=720,framerate=30/1 ! queue ! vpuenc_h264 ! h264parse ! qtmux ! filesink location=output.mp4 sync=false
(こちらの連続稼働ではまだ発生しておりません)
at_makoto.sato
at_makoto.sato
2024年1月9日 17時54分
佐藤です。
現象を発生させるための最小限のコードを提供していただくことは可能でしょうか。