パラメータを設定pipeline
したときに EOS をスローしない があります。stop-index
パイプラインは次のようになります。
gst-launch-0.10 multifilesrc start-index=140 stop-index=145 location="ADIF%04d.jpg" ! image/jpeg, framerate=5/1 ! decodebin ! videoscale ! video/x-raw-yuv, width=1920, height=1080, framerate=5/1 ! ffmpegcolorspace ! queue ! x264enc bitrate=5000 ! queue ! h264parse ! avimux ! filesink location=x264enc_1080p_5fps_bitrate_5000.avi
このパイプラインは、5 フレーム ADIF0140.jpg -> ADIF0145.jpg のビデオを連続的に作成し、手動で停止するまで繰り返します。たとえば、5 つのフレームを表示し、次に 5 つのフレームを繰り返し表示するビデオがあるとします。これは、ある種のループに陥っているようなものです。
を削除するstop-index
と、ファイル リストが使い尽くされたときに、パイプラインによって EOS が生成されます。ただし、特定のフレーム数に達したら、パイプラインで EOS をスローする必要があります。
gst-inspect-0.10 multifilesrc
インデックスに到達したら、stop-index
パラメータが実際にパイプラインに停止するように指示していることがわかります。多分私は何かを誤解していますか?
stop-index
パラメータに到達したときに multifilesrc が EOS を生成する方法はありますか?
編集:
コメント セクションの提案に従い、gst-launch コマンドに -e を追加しました。残念ながら、私の出力には何の違いもありませんでした。まだEOSを受け取っていません。ただし、c を手動で制御すると、次のようなメッセージが表示されます。
EOS on shutdown enabled -- Forcing EOS on the pipeline
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
export GST_DEBUG="*:3"
パラメーター セットを指定して gst-launch コマンドを実行する前に実行したところstop-index
、意味がわからない興味深い出力が得られました。
New clock: GstSystemClock
0:00:02.708615944 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:02.946719402 1037 0x16b7800 INFO h264parse gsth264parse.c:1137:gst_h264_parse_update_src_caps:<h264parse0> setting framerate in caps
0:00:02.946788159 1037 0x16b7800 INFO baseparse gstbaseparse.c:3234:gst_base_parse_set_latency:<h264parse0> min/max latency 0:00:00.200000000, 0:00:00.200000000
0:00:02.946850722 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:03.247947224 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:03.428127717 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:03.671530817 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:03.861473919 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:04.213566287 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:04.400715503 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:04.852917625 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:05.018448277 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:05.200358262 1037 0x16b7800 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0x16b78b0 (tag) to all internally linked pads
0:00:05.266578561 1037 0x16b7800 INFO h264parse gsth264parse.c:1137:gst_h264_parse_update_src_caps:<h264parse0> setting framerate in caps
0:00:05.266680768 1037 0x16b7800 INFO baseparse gstbaseparse.c:3234:gst_base_parse_set_latency:<h264parse0> min/max latency 0:00:00.200000000, 0:00:00.200000000
stop-index なしで同じ gst-launch コマンドを実行すると、EOS 出力が得られます。
New clock: GstSystemClock
0:00:02.073319330 1052 0xec1400 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<avimux0:video_00> Sending event 0xec14b0 (tag) to all internally linked pads
0:00:02.073429953 1052 0xec1400 INFO GST_PADS gstpad.c:3554:gst_pad_event_default_dispatch:<h264parse0:sink> Sending event 0xec7e90 (eos) to all internally linked pads
0:00:02.073525245 1052 0xec1400 INFO GST_EVENT gstevent.c:606:gst_event_new_new_segment_full: creating newsegment update 0, rate 1.000000, format bytes, start 0, stop -1, position 0
0:00:02.073572978 1052 0xec1400 INFO GST_EVENT gstevent.c:606:gst_event_new_new_segment_full: creating newsegment update 0, rate 1.000000, format bytes, start 902654, stop -1, position 902654
Got EOS from element "pipeline0".
誰でもこれらの出力を説明できますか?