2013-10-19 83 views
1

好日子同仁程序員, 我想用RPF上的gstreamer直接播放.ts文件。 的Gstreamer-1.0以及GST-OMX已成功安裝和這個例子管道運行就像一個魅力: gst-launch-1.0 -v filesrc location=h264_720p_hp_5.1_6mbps_ac3_planet.mp4 ! qtdemux ! h264parse ! omxh264dec ! autovideosink 在Raspberry Pi上用Gstreamer-1.0播放mpeg2ts

它實際上甚至工程使用gst-launch-1.0 playbin uri=file:/root/h264_720p_hp_5.1_6mbps_ac3_planet.mp4

但是,如果我嘗試使用playbin發揮。 ts文件它實際上運行它,但只有非常差的幀率,這使得這種方法無法使用。

如果我嘗試構建一個類似於上面顯示的自定義管道,我會陷入「tsparse」顯然與「omxmpeg2videodec」不兼容。

這是我跑:

gst-launch-1.0 -v filesrc location=parkrun1920_12mbps.ts ! tsdemux ! tsparse ! omxmpeg2videodec ! autovideosink 

它輸出這樣的錯誤:

erroneous pipeline: could not link mpegtsparse2-0 to omxmpeg2videodec-omxmpeg2videodec0 

有沒有人有一個想法,我怎麼能拿的GStreamer流利播放MPEG2-TS文件?

我的目標是播放由同一RPi上的mumudvb提供的http單播mpeg2-ts流。

感謝您的幫助,這將不勝感激!

編輯:omxplayer播放.ts文件非常流暢,所以我不認爲我的問題與硬件或文件有任何關係。

回答

2

問題是我用tsparse。在將流解複用之後,它不再是TS文件,因此必須使用mpegvideoparse或類似的解析器元素。

1

我正在像這樣在Ubuntu上播放ts。 gst-launch-1.0 souphttpsrc location = http://xxx.xxx.x.xx/location/test.ts! tsdemux name = d d.video_0324!隊列! h264parse! avdec_h264! videoconvert! videoscale! ximagesink。如果playbin正在工作,可以通過設置GST_DEBUG_DUMP_DOT_DIR var來生成xdot grapfile。然後分析xdot並找到解決方案。