我對gstreamer沒有多少經驗,也找不到線上的東西來搞清楚。使用GStreamer通過UDP流式傳輸Android攝像頭H264 mpeg-ts
我使用this open-source來開發一個Android應用程序,通過UDP流式傳輸相機作爲H264 mpegts。
我被卡住了管道,我有兩個工作管道,我不能合併在一起工作。 原來開源的管道:
"ahcsrc ! queue ! glimagesink name=vsink sync=false"
(當ahcsrc代表Android的硬件相機-SRC)
而且我的測試管道:
"videotestsrc ! decodebin ! x264enc bframes=2 ! mpegtsmux ! udpsink host=192.168.102.74 port=1234"
兩個工作完全正常。
我的目標是把我的測試管道,並切換videotestsrc到ahcsrc爲:
"ahcsrc ! decodebin ! x264enc bframes=2 ! mpegtsmux ! udpsink host=192.168.102.74 port=1234"
遺憾的是沒有運氣。真的很感激任何幫助!
編輯: 我試圖在任何地方添加日誌,然後看到沒有任何錯誤,除了每個模塊都將其狀態從PAUSED更改爲PLAYING(除了udpsink外)。
我添加到它「udpsink async = false」,這使它變成播放,但沒有數據包發送和沒有明顯的錯誤。 也許水槽沒有得到任何數據?
EDIT2:亂投醫後,我會發現它認爲這可能是與ahcsrc問題,因爲這條管道:
ahcsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! videoconvert.....
結果與
Could not link ahcsrc0 to videoconvert0
畢竟,這是部分的gst-plugins-bad。任何配置都會很棒。
試圖運行你的管道。我收到此錯誤: gst_video_overlay_set_window_handle:斷言'GST_IS_VIDEO_OVERLAY(覆蓋)'失敗 – Weknin
我的管道沒有經過測試..所以也許有什麼問題..但爲什麼我的管道的任何元素產生這個錯誤 - 這看起來像你正在使用一些視頻匯 - 你呢?請使用此管道添加更多日誌 - 理想情況下在您的問題中(其他人會在您更新問題時注意到)..您可以使用pastebin並複製粘貼重要部分 – nayana