之前用openframeworks都是用ofVideoPlayer进行视频相关的播放。最近有需要对视频流的传输上的需要,就研究了下VLC在of上的运用。
参考几位前辈的资料,了解了用法,整理如下:
首先当然要下载播放器,还要下载VLC的source,地址如下,
http://www.videolan.org/vlc/#download
在of程序中下添加引用路径:
我的是这样的:
D:\openframeworks\of_v0.7.4_vs2010_release\apps\myApps\VLCTest\vlc-2.0.8
D:\Program Files (x86)\VideoLAN\VLC\sdk\include
D:\openframeworks\of_v0.7.4_vs2010_release\apps\myApps\VLCTest\vlc-2.0.8\include
lib:
D:\openframeworks\of_v0.7.4_vs2010_release\apps\myApps\VLCTest\vlc-2.0.8\lib
D:\Program Files (x86)\VideoLAN\VLC\sdk\lib
加入libvlclib和libvlccore.lib。
将plugin文件夹(D:\Program Files (x86)\VideoLAN\VLC)和libvlc.dll、libvlccore.dll拷到bin文件下。
这样就开始写代码了。
在VLC提供的源码中发现编译有点错,我修改了如下:
vlc_common.h 690行改为 return ((x & 0x00000000000000FFLL) << 56) //remove the 'U', from 'LLU' to 'LL'。
然后在of中添加ofxVLCVideoplayer.h就可以用。
发现播放wmv的时候马赛克比较严重,还有卡顿的现象,试了其他几个视频还是比较流畅的。
后面继续研究关于视频流方面的东东。。
参考文章: