ffmpeg_tutorial 學習過程

測試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,
可能是這個文件格式不對。
換了一個文件,就可以了。
這個問題搞定。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章