测试ffmpeg_tutorial
这个测试系列的代码是一个外国人写的,大概有七八篇,有代码,也有相关的说明。
1)tutorial01
这第一个测试读取一个文件,并且解码,然后把解码的数据保存成rgb格式的文件。
文件名是PPM(这个需要专门的文件打开)
写文件的时候,一开始需要写入P6,以及宽高,以及一个特殊标记255
调试代码的过程中,第一个函数 avformat_open_input,就返回失败,
返回值是0xfffffffe
这个一看应该是文件不存在,
我把需要的avi文件拷贝到了Debug目录,还是不行,
后来发现在Debug的过程中,不能把文件拷贝到Debug的目录下,而是需要拷贝到工程文件的目录,即与.vcproj文件同一级目录,这样返回值就不是是0xfffffffe, 正确了。
这里还有一个小窍门:因为文件名是要从命令参数里面输入进来的,但是调试的时候,不能手动输入参数,这里可以修改工程的调试属性,
在工程上右键--》Property--》配置属性--》调试, 在右面“命令参数”后面,输入文件名,
往下执行,发现返回0xbebbb1b7
这个返回值去哪里找呢?
找到了libavutil文件夹下的error.h,
但是这里面使用宏定义的,不直观,所以写了一个程序,把这些宏的值,转化成数值。
并把这些值写到文件里面,方便以后查看。
转换的代码在下面
这个返回值0xbebbb1b7 表示的INVALIDDATA,
可能是这个文件格式不对。
换了一个文件,就可以了。
这个问题搞定。
这个测试系列的代码是一个外国人写的,大概有七八篇,有代码,也有相关的说明。
1)tutorial01
这第一个测试读取一个文件,并且解码,然后把解码的数据保存成rgb格式的文件。
文件名是PPM(这个需要专门的文件打开)
写文件的时候,一开始需要写入P6,以及宽高,以及一个特殊标记255
调试代码的过程中,第一个函数 avformat_open_input,就返回失败,
返回值是0xfffffffe
这个一看应该是文件不存在,
我把需要的avi文件拷贝到了Debug目录,还是不行,
后来发现在Debug的过程中,不能把文件拷贝到Debug的目录下,而是需要拷贝到工程文件的目录,即与.vcproj文件同一级目录,这样返回值就不是是0xfffffffe, 正确了。
这里还有一个小窍门:因为文件名是要从命令参数里面输入进来的,但是调试的时候,不能手动输入参数,这里可以修改工程的调试属性,
在工程上右键--》Property--》配置属性--》调试, 在右面“命令参数”后面,输入文件名,
往下执行,发现返回0xbebbb1b7
这个返回值去哪里找呢?
找到了libavutil文件夹下的error.h,
但是这里面使用宏定义的,不直观,所以写了一个程序,把这些宏的值,转化成数值。
并把这些值写到文件里面,方便以后查看。
转换的代码在下面
这个返回值0xbebbb1b7 表示的INVALIDDATA,
可能是这个文件格式不对。
换了一个文件,就可以了。
这个问题搞定。