请问一个关于ffmpeg,视频显示和链接动态库的有关问题,请知道的进来探讨探讨
请教一个关于ffmpeg,视频显示和链接动态库的问题,请知道的进来探讨探讨
目前是用ffmpeg做一个播放器,抛弃了它之前的SDL库,在视频最后的显示部分是利用GDL的动态库来实现的,之前在别的播放器中,只需要在初始化的时候对GDL做一些初始化就不用管了,可是现在的问题是,,,我写了个文件(文件中的函数主要有两个作用:第一,将解码数据读取后放在一个缓存中;第二,将缓存中的数据刷新到屏幕上),按照我的理解,调用了刷新解码数据到屏幕上的函数后,我的工作就完成了,已经完成初始化的GDL库会自己去显示(当然也许我理解错了,我也不知道)。
现在我的问题是,把我写的文件放在ffmpeg的根目录下,视频显示是正常的,但是把我写的文件放在ffmpeg的任何一个子目录下,比如说放在ffmpeg中的libavcodec子目录,或者ffmpeg中的libavdevice子目录中,就无法显示了,而且无法显示的症状是屏幕一点反应都没有,黑都不黑一下,这个症状就跟我不让GDL进行初始化的症状是一样的。所以我自己理解是可能GDL动态库没被调用,我不知道是不是这样???如果是这样,那为什么我写的文件只是换了个位置而已,怎么就没被调用了呢???
请知道的回答一下,不胜感激。
------解决方案--------------------
你写的文件是什么格式啊?我怎么觉着你好像都不用编译这个文件呢?
videostream--->decode(libavcdecode?)---你的文件---->framebuffer?
你的文件是lib库还是在你的app中呢?
路径变了,是不是要重新指定下路径,然后重新编译下呢?
------解决方案--------------------
谢谢回答了,问题已经找到了,是底层的问题,初始化没做好,疏漏了一些东西。我写的文件就是个.c的文件,里面写的一些函数就是用来把解码的数据进行显示,包括对底层驱动的初始化,和把解码数据送到相应的port等,文件已经重新编译过了。
目前是用ffmpeg做一个播放器,抛弃了它之前的SDL库,在视频最后的显示部分是利用GDL的动态库来实现的,之前在别的播放器中,只需要在初始化的时候对GDL做一些初始化就不用管了,可是现在的问题是,,,我写了个文件(文件中的函数主要有两个作用:第一,将解码数据读取后放在一个缓存中;第二,将缓存中的数据刷新到屏幕上),按照我的理解,调用了刷新解码数据到屏幕上的函数后,我的工作就完成了,已经完成初始化的GDL库会自己去显示(当然也许我理解错了,我也不知道)。
现在我的问题是,把我写的文件放在ffmpeg的根目录下,视频显示是正常的,但是把我写的文件放在ffmpeg的任何一个子目录下,比如说放在ffmpeg中的libavcodec子目录,或者ffmpeg中的libavdevice子目录中,就无法显示了,而且无法显示的症状是屏幕一点反应都没有,黑都不黑一下,这个症状就跟我不让GDL进行初始化的症状是一样的。所以我自己理解是可能GDL动态库没被调用,我不知道是不是这样???如果是这样,那为什么我写的文件只是换了个位置而已,怎么就没被调用了呢???
请知道的回答一下,不胜感激。
------解决方案--------------------
你写的文件是什么格式啊?我怎么觉着你好像都不用编译这个文件呢?
videostream--->decode(libavcdecode?)---你的文件---->framebuffer?
你的文件是lib库还是在你的app中呢?
路径变了,是不是要重新指定下路径,然后重新编译下呢?
------解决方案--------------------
谢谢回答了,问题已经找到了,是底层的问题,初始化没做好,疏漏了一些东西。我写的文件就是个.c的文件,里面写的一些函数就是用来把解码的数据进行显示,包括对底层驱动的初始化,和把解码数据送到相应的port等,文件已经重新编译过了。