如何检测漏斗插件的一个来源已在 gstreamer 管道中结束?
How to detect one source of funnel plugin has ended in gstreamer pipeline?
我正在使用 gstreamer 构建具有两个源的管道。一个是文件源(filesrc
),另一个是appsrc
。当 filesrc 得到 EOS 时,管道不会退出。 appsrc
仍会收到 need-data
信号,并且永远不会自行停止。似乎 funnel
插件将等待所有源结束,然后再将 EOS 发送到管道。有没有办法在 filesrc 文件结束时得到通知?
gst 启动命令如下所示:
gst-launch-1.0 funnel name=f \
appsrc name=appsrc-h264-sei do-timestamp=true block=true is-live=true ! video/x-h264, stream-format=byte-stream, alignment=au ! queue ! f. \
filesrc input.h264 ! queue ! f. \
f. ! queue ! h264parse ! video/x-h264, stream-format=byte-stream, alignment=au ! mp4mux ! filesink location=file.mp4
您可以在漏斗输入面板安装一个 GstPadProbe
并在回调中检查 EOS 事件。
我正在使用 gstreamer 构建具有两个源的管道。一个是文件源(filesrc
),另一个是appsrc
。当 filesrc 得到 EOS 时,管道不会退出。 appsrc
仍会收到 need-data
信号,并且永远不会自行停止。似乎 funnel
插件将等待所有源结束,然后再将 EOS 发送到管道。有没有办法在 filesrc 文件结束时得到通知?
gst 启动命令如下所示:
gst-launch-1.0 funnel name=f \
appsrc name=appsrc-h264-sei do-timestamp=true block=true is-live=true ! video/x-h264, stream-format=byte-stream, alignment=au ! queue ! f. \
filesrc input.h264 ! queue ! f. \
f. ! queue ! h264parse ! video/x-h264, stream-format=byte-stream, alignment=au ! mp4mux ! filesink location=file.mp4
您可以在漏斗输入面板安装一个 GstPadProbe
并在回调中检查 EOS 事件。