查看: 1874|回复: 7

osg与ffmpeg结合问题

[复制链接]

该用户从未签到

发表于 2012-9-26 17:18:00 | 显示全部楼层 |阅读模式
在osg自带的例子中不能运行相应的视频文件 我看代码发现在这句话
if (arguments.argc()<=1)
    {
        arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION);
        return 1;
    }
执行以后就直接跳出了 osg我用的是3.0的 希望给为大哥能帮助小弟 谢谢.

该用户从未签到

发表于 2012-9-27 09:27:12 | 显示全部楼层
您没有给命令行参数吧?如果是osgmovie的话,要给出播放的文件名啊

该用户从未签到

 楼主| 发表于 2012-9-27 12:30:31 | 显示全部楼层
array 发表于 2012-9-27 09:27
您没有给命令行参数吧?如果是osgmovie的话,要给出播放的文件名啊

大哥 可找到你了 我看那书是你翻译的  在哪添加播放的文件名呢 我把代码贴上 大哥你有时间帮忙看下 谢谢啊osg::ArgumentParser arguments(&argc,argv);
    // set up the usage document, in case we need to print out how to use this program.
//setApplicationName("d:\OpenSceneGraph\OpenSceneGraph-3.0.0\bin\osgmovied.exe");
    arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName());
    arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" example demonstrates the use of ImageStream for rendering movies as textures.");
    arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
    arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
    arguments.getApplicationUsage()->addCommandLineOption("--texture2D","Use Texture2D rather than TextureRectangle.");
    arguments.getApplicationUsage()->addCommandLineOption("--shader","Use shaders to post process the video.");
    arguments.getApplicationUsage()->addCommandLineOption("--interactive","Use camera manipulator to allow movement around movie.");
    arguments.getApplicationUsage()->addCommandLineOption("--flip","Flip the movie so top becomes bottom.");
#if defined(WIN32) || defined(__APPLE__)
    arguments.getApplicationUsage()->addCommandLineOption("--devices","rint the Video input capability via QuickTime and exit.");
#endif
    bool useTextureRectangle = true;
//着色器
    bool useShader = false;
    // construct the viewer.
    osgViewer::Viewer viewer(arguments);
    if (arguments.argc()<=1)
    {
        arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION);
        return 1;
    }
#if defined(WIN32) || defined(__APPLE__)
    // if user requests devices video capability.
    if (arguments.read("-devices") || arguments.read("--devices"))
    {
        //Force load QuickTime plugin, probe video capability, exit
        osgDB::readImageFile(/*"8002.AVI"*/"devices.live");
        return 1;
    }
#endif

不能运行到readImageFile这里啊

该用户从未签到

发表于 2012-9-27 14:11:32 | 显示全部楼层
已经说过了,如果您是在使用osgmovie的话,用命令行输入参数。还有您看的哪本书?

该用户从未签到

 楼主| 发表于 2012-9-28 10:25:14 | 显示全部楼层
array 发表于 2012-9-27 14:11
已经说过了,如果您是在使用osgmovie的话,用命令行输入参数。还有您看的哪本书?

我看的OSG翻译  虚拟设计论坛 WWW.VRDEV.NET 的注册用户名为 array  不好意思看错了  以为是您
  大哥 你说的命令行输入参数是在控制台输入吗? 还是在osgmovie代码里面呢 小弟初接触osg

该用户从未签到

发表于 2012-10-8 09:50:11 | 显示全部楼层
vrdev早已经死了,如果您看的是《快速入门指导》,那么那本书是我翻译的,但是里面显然没有ffmpeg什么事情
您问的根本就不是osg的问题,什么是命令行?诸如c:\> cd windows 这样的东西就叫做命令行,在控制台输入就可以了

该用户从未签到

 楼主| 发表于 2012-10-9 21:42:55 | 显示全部楼层
array 发表于 2012-10-8 09:50
vrdev早已经死了,如果您看的是《快速入门指导》,那么那本书是我翻译的,但是里面显然没有ffmpeg什么事情
...

多谢了大哥 嗯 我看的是《快速入门指导》这本书 和本人对上话了激动了  嘿嘿  大哥 我那个ffmpeg是看源代码里弄的  不是那本书的事    是小弟没说明白.  
大哥你翻译的那书太好了 对于我来说太需要了 谢谢你。

该用户从未签到

发表于 2012-10-10 07:51:45 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表