tingsky 发表于 2014-10-22 17:00:59

OSG使用ffmpeg播放rtsp流媒体不成功

我编译了一个版本,使用ffmpeg可以正确播放本地视频文件
osgDB::Registry::instance()->addFileExtensionAlias("avi", "ffmpeg");
osg::ref_ptr<osg::Image> image = osgDB::readImageFile("Video/shiyan.avi");

但如果用于播放rtsp流媒体却不成功,从代码上看,系统是支持流媒体RTSP协议的:
RTSP地址(H264编码,可以在vlc上正确播放):rtsp://192.168.1.166:5505/&channel=0;&stream=1;&user=system;&pass=system
我通过如下方式调用接口(为了让osg使用ffmpeg的库,我在链接的最后加上“&format.ffmpeg”,调试上看,是可以正确进入到ffmpeg的dll)
image = osgDB::readImageFile("rtsp://192.168.1.166:5505/&channel=0;&stream=1;&user=system;&pass=system;&format.ffmpeg");

但最终结果,是没有视频显示,也没有错误提示。
有没有人尝试过在osg中使用ffmpeg打开rtsp?大概是什么问题导致流媒体播放不成功呢?

先谢谢各位了~





tingsky 发表于 2014-10-22 18:10:29

如果不在rtsp://192.168.1.166:5505/&channel=0;&stream=1;&user=system;&pass=system 链接的末尾加上ffmpeg,如何让osgDB::readImageFile指定通过某个plugin进行读取(不是通过后缀名,比如在RTSP中就没有后缀名),比如ffmpeg的plugin。

osgDB::readImageFile("rtsp://192.168.1.166:5505/&channel=0;&stream=1;&user=system;&pass=system;&format.ffmpeg");

tingsky 发表于 2014-11-22 21:50:34

自己来回答:
osg::ref_ptr<osgDB::ReaderWriter> rwter = osgDB::Registry::instance()->getReaderWriterForExtension("ffmpeg");
        osgDB::ReaderWriter::ReadResult rr = rwter->readImage("rtsp://127.0.0.1:8554/shiyan?format.avi");

stonels 发表于 2016-2-26 09:14:24

楼主可以帮忙发一下,ffmpeg的插件库吗?编译好的也可以发一下,谢谢楼主了:lol(stonels0@163.com)

曹晓辉 发表于 2016-11-7 14:11:00

stonels 发表于 2016-2-26 09:14
楼主可以帮忙发一下,ffmpeg的插件库吗?编译好的也可以发一下,谢谢楼主了()

请问你有没有编译好的ffmpeg的插件库呢,可以发我一下么,381605456@qq.com,我也在摸索osg场景中播放视频,资料都好少呀

osgchina_allen 发表于 2017-1-12 10:33:18

楼主牛逼,自己问题自己解决,并给出答案,造福大众,赞一个:)
页: [1]
查看完整版本: OSG使用ffmpeg播放rtsp流媒体不成功