我正在研究一個涉及使用Adobe AIR顯示來自IP攝像機的視頻源的項目。我知道,Flash不具有RTSP
協議的原生支持,所以我正在評估所有可能的路由我可以解決這個問題:在Adobe AIR中顯示RTSP流
使用Adobe Media Server傳入RTSP流轉換爲RTMP,然後use閃存API (
NetConnection
&NetStream
)。編寫自定義類以在Adobe AIR中獲取,解碼和顯示流。 [我無法確認這是否是可能的,因爲在網絡上信息不足]
放棄對RTSP和圖像,而不是fetch JPEG/MJPEG序列,並在空氣相對容易顯示出來,但與懷疑現場性能。 [由於IP相機和相同的間隔分開在AIR JPEG/MJPEG刷新間隔]
使用DirectShow Video Source Filter for JPEG and M-JPEG IP Cameras處理JPEG/MJPEG流,創建虛擬網絡攝像頭裝置(過濾器自動執行此),然後使用
Camera
類在AIR中顯示視頻供稿。使用webcam 7 - 一款旨在處理許多相機品牌/型號的RTSP,JPEG/MJPEG和其他流協議的軟件。它在創建虛擬相機的系統中安裝驅動程序,然後所有其他應用程序可以用作普通網絡攝像頭。 不幸的是,這個軟件有問題,並且經常變得不穩定(可能只有我特定的相機型號),甚至可能會崩潰。
是否有更好,更簡單的選項,可能不需要任何第三方軟件?
編輯:
如果別人碰到同樣的問題: 作爲建議的Rudolfs Bundulis,我決定寫一個NativeProcess
(ANE)使用FFMPEG來獲取RTSP流數據,轉碼,並將其提供給Flash播放器。 你可能想看看這些更具體的步驟:
http://www.purplesquirrels.com.au/2013/02/converting-video-with-ffmpeg-and-adobe-air/ https://www.youtube.com/watch?v=6N7eN9wvAGQ
謝謝。在這種情況下不需要跨平臺功能。我想深入修改FFmpeg庫。 – astralmaster 2014-10-29 11:49:58
你不需要修改它們。只是讓AIR本機擴展,把類似http://stackoverflow.com/questions/10715170/receiving-rtsp-stream-using-ffmpeg-library內接收和解碼流,你是好。 – 2014-10-29 12:03:28