osg播放視頻時,需要利用ffmpeg的多媒體播放器插件,所以在播放視頻之前需要成功的加載此插件,才能最終顯示出畫面,現將osg播放本地文件和流文件的方法總結一下:
1、播放本地文件
osgDB::Registry::instance()->addFileExtensionAlias("mp4", "ffmpeg");
osg::ref_ptr<osg::Image> image = osgDB::readRefImageFile("sample.mp4");
2、播放流地址
osg::ref_ptr<osgDB::ReaderWriter> rwter = osgDB::Registry::instance()->getReaderWriterForExtension("ffmpeg");
osgDB::ReaderWriter::ReadResult rr = rwter->readImage("rtsp://192.168.1.111:554/h264/ch1/main/av_stream");
osg::ref_ptr<osg::Image> image = rr.getImage();