mi2watanabe
2017年11月10日 9時45分
お世話になっております、渡邉と申します。
先日より Armadillo-840 の評価機をお借りして H.264 のテストエンコードを行っています。
https://armadillo.atmark-techno.com/forum/armadillo/801 を参考にしながら GStreamer にて RAW NV12 データをエンコードしようとしていますが、以下のようなエラーとなりエンコードできません。
Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Redistribute latency... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstQTMux:muxer: Could not multiplex stream. Additional debug info: gstqtmux.c(2530): gst_qt_mux_add_buffer (): /GstPipeline:pipeline0/GstQTMux:muxer: DTS method failed to re-order timestamps. Execution ended after 267050750 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
実行しているパイプラインは以下のようになっています。
gst-launch-1.0 filesrc location=decoder_test.nv12 ! \ video/x-raw,format=NV12,width=1280,height=960,framerate=15/1 ! \ acmh264enc ! video/x-h264,width=1280,height=960 ! \ queue ! qtmux ! filesink location=decoder_test.mp4
なお、videotestsrc を使ったエンコード自体は問題なくできております。
gst-launch-1.0 videotestsrc ! \ video/x-raw,format=NV12,width=1280,height=960,framerate=15/1 ! \ acmh264enc ! video/x-h264,width=1280,height=960 ! \ queue ! qtmux ! filesink location=decoder_test.mp4
qtmux の問題とは思えないのですが、どのように回避すべきか、何かお分かりになりますでしょうか。