0
我有一個類似於此的gstreamer管道。Gstreamer三通各分支具有不同功能
Queue -> videoscale -> videosink
/
appsrc -> h264_decoder -> Tee
\
Queue -> jpegenc -> multifilesink
Tee如何處理解碼板上的功能?是否可以在兩個分支上設置不同的功能?
具體來說,是否可以設置兩種不同的幀率? Filesink以1 fps存儲,而videosink以30 fps顯示。
我正在使用以下命令行進行測試。
gst-launch-1.0 -e \
filesrc location=${1} ! queue ! qtdemux name=d d.video_0 ! h264parse ! avdec_h264 ! tee name=t \
t. ! queue ! videoscale ! 'video/x-raw,width=(int)960,height=(int)540' ! autovideosink \
t. ! queue ! 'video/x-raw,framerate=1/1' ! jpegenc ! multifilesink location=out/img1_%03d.jpeg
但是我得到'內部數據流錯誤'和'原因未鏈接'。
如果你有一個解碼器,一組參數和其他的參數設置另一個解碼器 - 那麼你已經有了兩個解碼器,對不對?在appsrc之後放置tee並使用兩個h264_decoder。 – Velkan
@Velkan我試圖做的是解碼一次,但從中獲得一個框架放入一個文件。所以我想在解碼器後面放一個tee,第一個分支只是將解碼的幀顯示爲普通的解碼顯示流水線,但第二個分支只會存儲其中一個幀。 – Ajith