1

パラメータを設定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".

誰でもこれらの出力を説明できますか?

4

0 に答える 0