日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FFMPEG系列课程(一)打开视频解码器

發布時間:2024/4/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFMPEG系列课程(一)打开视频解码器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試環境:windows10?

開發工具:VS2013

? ? ? ? 從今天開始準備些FFmpeg的系列教程,今天是第一課我們研究下打開視頻文件和視頻×××。演示環境在windows上,在linux上代碼也是一樣。

? ? ? ?windows上可以不編譯ffmpeg源碼,后面我會分別講解在linux和在windows上如何編譯ffmpeg,直接在FFmpeg官網下載已經編譯好的dll和lib文件,下載地址https://ffmpeg.zeranoe.com/builds/ 里面有32位和64位的,我下載的32位。


//引用ffmpeg頭文件,我這邊是C++必須加上extern?"C",ffmpeg都是c語言函數, //不加會鏈接失敗,找不到定義 extern?"C" {#include<libavformat/avformat.h> } //引用lib庫,也可以在項目中設置,打開視頻只需要用到這三個庫 #pragma?comment(lib,"avformat.lib") #pragma?comment(lib,"avutil.lib") #pragma?comment(lib,"avcodec.lib") #include?<iostream> using?namespace?std; int?main(int?argc,char?*argv[]) {//初始化所以ffmpeg的×××av_register_all();char?path[1024]?=?"video.mp4";//用來存放打開的視頻流信息AVFormatContext?*ic?=?NULL;//用來存儲視頻流索引int?videoStream?=?0;//打開視頻播放流//path參數表示打開的視頻路徑,這個路徑可以包括各種視頻文件//也包括rtsp和http網絡視頻流//第三個參數表示傳入的視頻格式,我這邊不傳遞有FFmpeg內部獲取//最后一個參數是設置,我們這里也不傳遞int?re?=?avformat_open_input(&ic,?path,?0,?0); if?(re?!=?0) {//獲取到FFmpeg的錯誤信息char?errorbuf[1024]?=?{0} av_strerror(re,?errorbuf,?sizeof(errorbuf)); printf("open?%s?failed:?%s\n",?path,?errorbuf); return?-1; } //遍歷視頻流,里面包含音頻流,視頻流,或者字母流,我們這里只處理視頻 for?(int?i?=?0;?i?<?ic->nb_streams;?i++) { AVCodecContext?*enc?=?ic->streams[i]->codec; //確認是視頻流 if?(enc->codec_type?==?AVMEDIA_TYPE_VIDEO) {//存放視頻流索引,后面的代碼要用到videoStream?=?i;//找到×××,比如H264,×××的信息也是ffmpeg內部獲取的AVCodec?*codec?=?avcodec_find_decoder(enc->codec_id);if?(!codec) { printf("video?code?not?find!\n"); return?-2; }//打開視頻×××,打開音頻×××用的也是同一個函數 int?err?=?avcodec_open2(enc,?codec,?NULL); if?(err?!=?0) { char?buf[1024]?=?{?0?}; av_strerror(err,?buf,?sizeof(buf)); printf(buf); return?-3; }}}


更多的資料也可以關注我51CTO上的視頻課程

夏老師的課堂?http://edu.51cto.com/lecturer/12016059.html

手把手教您開發視頻播放器

http://edu.51cto.com/course/course_id-8059.html


轉載于:https://blog.51cto.com/xiacaojun/1886399

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的FFMPEG系列课程(一)打开视频解码器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。