Armadilloフォーラム

Armadillo-840 での RAW NV12 データの H.264 エンコードについて

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 の問題とは思えないのですが、どのように回避すべきか、何かお分かりになりますでしょうか。