rtsp协议_基于libVLC的视频播放器(支持RTSP协议)
VLC Media Player是一款優秀的播放器,大多數多媒體開發人員都使用過。VLC是一款開源的、跨平臺的、可擴展的、多媒體播放器、流媒體服務器及框架,可播放大多數多媒體文件,以及DVD、音頻CD、VCD及各類流媒體協議,現更名為VLC
media player,最新版本為2.2.0。
獲取VLC開發所需要的SDK參考:http://blog.csdn.net/leixiaohua1020/article/details/42363079
首先介紹程序中使用的三個結構體
libvlc_instance_t:代表一個libVLC的實例。
libvlc_media_t:代表一個可以播放的媒體。
libvlc_media_player_t:代表一個VLC媒體播放器(一個視頻播放器播放一個視頻)。注意VLC并不僅僅用于媒體播放。
libVLC視頻播放器的開發流程圖如下所示:
函數講解:
libvlc_new():創建libvlc_instance_t。
libvlc_media_new_location():用于打開協議(我這里是打開使用VLC推的RTSP協議)
libvlc_media_player_new_from_media():創建libvlc_media_player_t。
libvlc_media_player_set_hwnd();設置視頻顯示窗口
libvlc_media_player_release():釋放libvlc_media_player_t
libvlc_media_release():釋放libvlc_media_t。
libvlc_release():釋放libvlc_instance_t。
下面的函數控制媒體的播放、暫停和停止
libvlc_media_player_play():播放。
libvlc_media_player_pause():暫停。
libvlc_media_player_stop():停止。
展示效果:
注意事項
創建libvlc_media_t有兩種方法:libvlc_media_new_path()和libvlc_media_new_location()。簡單描述一下這兩個函數的區別:libvlc_media_new_location()用于打開協議,而libvlc_media_new_path()用于打開文件。因而傳遞給libvlc_media_new_path()的就是普通的文件路徑(絕對路徑例如D:xxx.flv,或者相對路徑例如xxx.flv),而傳遞給libvlc_media_new_location()的就是協議地址(例如“udp://….”,“http://”)。但是這里有一點需要注意,在VLC中“文件”也屬于一種廣義上的“協議”。因此使用libvlc_media_new_location()也可以打開文件,但是必須在文件路徑前面加上“文件協議”的標記“file:///”。例如打開“F:moviecuc_ieschool.flv”下的視頻,實際使用的代碼如下所示。
此外,VLC還支持很多“神奇”的協議,比如輸入“screen://”協議就可以進行屏幕錄制,代碼如下。
libvlc_media_new_location (inst, "screen://");基于libVLC的視頻播放器(支持RTSP協議)匹配的源代碼下載:
http://download.csdn.net/detail/davebobo/9890343
Reference:
http://blog.csdn.net/leixiaohua1020/article/details/42363079
總結
以上是生活随笔為你收集整理的rtsp协议_基于libVLC的视频播放器(支持RTSP协议)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps选区放大缩小快捷键是什么?(ps放大
- 下一篇: 钱的本质上是什么?