Windows下FFmpeg快速入門


本系列文章導航

Windows下FFmpeg快速入門

ffmpeg參數解釋

mencoder和ffmpeg參數詳解(Java處理視頻)

Java 生成視頻縮略圖(ffmpeg)

使用ffmpeg進行視頻文件轉換成FLV整理

java 視頻處理 mencoder

java 視頻處理 ffmped+mencoder

 

Windows下FFmpeg快速入門

FFmpeg簡介

FFmpeg 是什么?
FFmpeg是用於錄制、轉換和流化音頻和視頻的完整解決方案, 包括  libavcodec ,一套領先的音/視頻編解碼類庫。FFmpeg 在Linux上開發,當可以在大多數操作系統下編譯,包括Windows。
Note
  • FFmpeg對GCC的依賴很強,所以就算是在Windows上, 用VC編譯FFmpeg也不是一件輕松的事情。請盡量使用 GCC來編譯FFmpeg,比較事半功倍。
FFmpeg的官方網址是  http://ffmpeg.mplayerhq.hu/。
中文Wiki是  http://www.ffmpeg.com.cn/,資料很多。

FFmpeg的組成結構

FFmpeg主要由一下幾個部分組成:
  • libavcodec: 一個包含了所有FFmpeg音 視頻編解碼器的庫。 為了保證最優性能和高可復用性,大多數編解碼器從頭開發的。
  • libavformat: 一個包含了所有的普通音視格式的解析器和 產生器的庫。
  • 三個實例程序,這三個實例較為復雜,基本可以作為API使用手冊:
    • ffmpeg:命令行的視頻格式轉換程序。
    • ffplay:視頻播放程序。(需要SDL支持)
    • ffserver:多媒體服務器
了解完組成結構后,你會發現,如果你在尋找一種視頻格式轉換 的方式,那FFmpeg絕對是你的第一選擇, libavcodec 則又是重 中之重。如果遇上API不會使用的情況,可以參考ffmpeg.c、ffplay.c、 ffserver.c、apiexample.c(解碼)和output_example.c(編碼)。

FFmpeg的編譯

要使用FFmpeg,第一步就是編譯,對於Linux上的用戶,可以參考 http://www.ffmpeg.com.cn/index.php/Ffmpeg%E7%BC%96%E8%AF%91%E8%AF%A6%E8%A7%A3
  • 編譯FFmpeg是一個復雜的過程,如果你想加快速度,領略FFmpeg 的風采,則可以跳過這一步,直接進入下一章節。

FFmpeg的SDK

FFmpeg是一個復雜的工程,第一步編譯,特別是Windows下的編譯 過程,更是復雜。 因此,好心的網友提供了Windows下編譯好的 dll和lib庫文件,以及相關的頭文件。新手們則可直接下載,並開始編寫 FFmpeg庫的程序了。
以上兩者已經足以完成FFmpeg的入門,最新的SDK版本是3.0, 對應於FFmpeg的版本是 r10087。新手們可以從編譯源代碼庫中的 output_example.c開始,同時參考  SDK入門寶典 。
編譯output_example.c的時候需要注意以下問題:
  • VC的是不支持C語言中的inline,所以可以把相關的inline刪除。
  • 對於snprintf的支持,可以考慮從 http://www.ijs.si/software/snprintf/下載 snprintf.h和snprintf.c放入工程中。
准備了一個 output_example.c 的VC (2008 express edtion)工程,有興趣的朋友 可以郵件至  tang.jiyu at gmail dot com 索取,或者訪問 http://tinyurl.com/5h4v8q 下載。


博文來源: http://huqilong.blog.51cto.com/53638/137140


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM