Framebuffer

從 gst fbdevsink 上的元素“pipeline0”獲取 EOS

  • October 28, 2021

我正在嘗試將影片文件轉發到沒有 X 的設備上的幀緩衝區。我正在使用gstreamer外掛fbdevsink

  • 當我用
gst-launch-1.0 videotestsrc ! fbdevsink

它完美地工作。

  • 但是,當我嘗試使用命令打開設備上的任何影片文件時
gst-launch-1.0 filesrc location=right_top1.mp4 ! fbdevsink

它立即停止工作並輸出

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.006988697
Setting pipeline to NULL ...
Freeing pipeline ...

我無法弄清楚發生了什麼,因為即使我添加了調試(-v --gst-debug-level=2)輸出也是一樣的。

如果重要的話,我正在使用 Yocto OS 開發 Nvidia Jetson Nano。

你們知道如何解決或調試它嗎?

我終於放下gstreamer並使用ffmpeg了,沒有任何問題。

命令如下所示:

ffmpeg -fflags nobuffer -flags low_delay -rtsp_transport tcp -stimeout 1000000 -i <RTSP_stream_addr> -pix_fmt bgra -loglevel

引用自:https://unix.stackexchange.com/questions/674830