1. 程式人生 > >IOS FFMPEG的使用

IOS FFMPEG的使用

FFMPEG介紹

FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音訊/視訊編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec裡很多code都是從頭開發的。
FFmpeg在Linux平臺下開發,但它同樣也可以在其它作業系統環境中編譯執行,包括Windows、Mac OS X等。這個專案最早由Fabrice Bellard發起,現在由Michael Niedermayer維護。許多FFmpeg的開發人員都來自MPlayer專案,而且當前FFmpeg也是放在MPlayer專案組的伺服器上。專案的名稱來自MPEG視訊編碼標準,前面的”FF”代表”Fast Forward”。
FFmpeg被許多開源專案採用,比如ffmpeg2theora,VLC, MPlayer, HandBrake, Blender, Google Chrome等。還有DirectShow/VFW的ffdshow(external project)和QuickTime的Perian (external project)也採用了FFmpeg。

FFMPEG功能介紹

視屏採集功能
視訊格式轉換功能
視屏截圖功能
給視屏加水印功能

ffmpeg 命令集舉例
1.獲取視訊的資訊
ffmpeg -i video.avi
2.將圖片序列合成視訊
ffmpeg -f image2 -i image%d.jpg video.mpg
上面的命令會把當前目錄下的圖片(名字如:image1.jpg. image2.jpg. 等…)合併成video.mpg
3.將視訊分解成圖片序列
ffmpeg -i video.mpg image%d.jpg
上面的命令會生成image1.jpg. image2.jpg. …
支援的圖片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI
4.為視訊重新編碼以適合在iPod/iPhone上播放
ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4
說明:
* 源視訊:source_video.avi
* 音訊編碼:aac
* 音訊位率:128kb/s
* 視訊編碼:mpeg4
* 視訊位率:1200kb/s
* 視訊尺寸:320 X 180
* 生成的視訊:final_video.mp4
5.為視訊重新編碼以適合在PSP上播放
ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4
說明:
* 源視訊:source_video.avi
* 音訊編碼:aac
* 音訊位率:32kb/s
* 視訊編碼:xvid
* 視訊位率:1200kb/s
* 視訊尺寸:320 X 180
* 生成的視訊:final_video.mp4
6.從視訊抽出聲音.並存為Mp3
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
說明:
* 源視訊:source_video.avi
* 音訊位率:192kb/s
* 輸出格式:mp3
* 生成的聲音:sound.mp3
7.將wav檔案轉成Mp3
ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3
8.將.avi視訊轉成.mpg
ffmpeg -i video_origine.avi video_finale.mpg
9.將.mpg轉成.avi
ffmpeg -i video_origine.mpg video_finale.avi
10.將.avi轉成gif動畫(未壓縮)
ffmpeg -i video_origine.avi gif_anime.gif
11.合成視訊和音訊
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
12.將.avi轉成.flv
ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv
13.將.avi轉成dv
ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv
或者:
ffmpeg -i video_origine.avi -target pal-dv video_finale.dv
14.將.avi壓縮成divx
ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi
15.將Ogg Theora壓縮成Mpeg dvd
ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_terminate.mpg
16.將.avi壓縮成SVCD mpeg2
NTSC格式:
ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg
PAL格式:
ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg
17.將.avi壓縮成VCD mpeg2
NTSC格式:
ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg
PAL格式:
ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg
18.多通道編碼
ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2
19.從flv提取mp3
ffmpeg -i source.flv -ab 128k dest.mp3

FFMPEG 再mac iOS上的運用

ffmpeg的層次結構
ffmpeg的程式碼是包括兩部分的,一部分是library,一部分是tool。api都是在library裡面,如果直接調api來操作視訊的話,就需要寫c或者c++了。另一部分是tool,使用的是命令列,則不需要自己去編碼來實現視訊操作的流程。

mac 下的運用
brew,只需要在終端上輸入:
brew install ffmpeg
等待安裝結束即可。
安裝結束後,嘗試以下命令:
如果提示 /usr/local can not writable
sudo chown -R huangzengquan /usr/local
ffmpeg -i input.mp4 output.avi
如果能順利轉換,表明安裝成功

FFMPEG api

api文件
原始碼介紹
播放器實現
api
ijkplayer

相關推薦

[iOS]FFmpeg框架在iOS平臺上的編譯和使用

_id hex ips selector 文件 str content pat tps 使用環境 Mac OS Yosemite 10.10.5 開發工具 Xcode 7.0 Terminal 需要的文件鏈接 gas-preprocessor yasm F

iOS: FFmpeg的使用

一,下載並在終端中執行指令碼編譯ffmpeg 指令碼參考git上的:https://github.com/kewlbear/FFmpeg-iOS-build-script; 終端進入剛剛下載後的指令碼資料夾下,執行sh:build-ffmpeg.sh 自動編譯,有缺少yasm的按照提示操作,安裝yasm

IOS FFMPEG的使用

FFMPEG介紹 FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音訊/視訊編解碼庫libavcodec,為了保證高可移植性和編

ios ffmpeg加字幕

http://www.yaosansi.com/post/ffmpeg-burn-subtitles-into-video/ 這篇文章裡講到了怎麼用ffmpeg命令實現加字幕以及燒字幕 http://srtlibrary.weebly.com/ 這個網址不知道是不是srt

ios ffmpeg audio decode

ffmepg解碼音訊。 #import "FFMpegAudioDecoder.h" #ifdef __cplusplus extern "C" { #endif #include <libavutil/opt.h> #include <lib

(iOS) FFmpeg iOS 上的安裝(可以指定任意版本) 一

安裝Homebrew: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ios ffmpeg 實時視訊壓縮(主要是H264)

在xcode上實現 iphone 實時傳輸當前畫面的功能,本檔案針對 h264 編碼,如果需要其他編碼 ,可以把video_encode_frame_init()裡面的 編碼id替換掉 1、 ffmpeg 視訊流檔案 使用之前編譯好ffmpeg 庫,並且載入了x264的庫

編譯IOS FFmpeg + X264(支援Xcode 6)

一、編譯x264獲取x264原始碼http://www.videolan.org/developers/x264.html獲取gas-preprocessplhttps://github.com/libav/gas-preprocessor獲取x264編譯指令碼https:

FFmpeg for ios架構:中級

nbsp 變量 category eight ref 基本 network 時間戳 3.6 FFmpeg這部分想了非常久,也沒找到比較好的解說方式。本來想像其他博客一樣。對著代碼一行行的分析。但後來感覺不太現實,FFmpeg應用在IOS上怎麽說代碼最少也有個5、6k行(

最簡單的基於FFmpeg的移動端樣例:IOS HelloWorld

目的 mes 真機 roo mux 能夠 ted 配置 details =====================================================最簡單的基於FFmpeg的移動端樣例系列文章列表:最簡單的基於FFmpeg的移動端樣例:An

最簡單的基於FFmpeg的移動端樣例:IOS 視頻解碼器

視頻播放 contex avcodec video pad align b+ getc tar =====================================================最簡單的基於FFmpeg的移動端樣例系列文章列表:最簡單的基於FFm

iOS 利用FFmpeg 開發音視頻流(二)

框架 視頻流 -i ref image ear target bin scrip 原文地址: iOS配置FFmpeg框架(原創) 腳本文件下載地址 https://github.com/kewlbear/FFmpeg-iOS-build-script。 上述博文中是直接下載

ios編譯ffmpeg出現xcrun -sdk iphoneos clang is unable to create an executable file的解決方法

使用https://github.com/kewlbear/FFmpeg-iOS-build-script的指令碼一鍵編譯ffmpeg。 出現 building arm64... xcrun -sdk iphoneos clang is unable to create an executa

iOS開發 iOS整合FFmpeg及視訊格式轉碼

  點選下載 Demo 一、FFmpeg簡介 FFmpeg是一個開源免費跨平臺的視訊和音訊流方案,屬於自由軟體,採用LGPL或GPL許可證(依據你選擇的元件)。它提供了錄製、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音訊/視訊編解碼庫libavcodec,為了保證高可

iOS商品詳情、ffmpeg播放器、指示器集錦、自定義圓弧選單、實用工具等原始碼

iOS精選原始碼 電商商品詳情 Swift.兩種方式實現tableViewCell拖拽功能 ffmpeg+openGL播放器 微信聊天表情雨、表情下落、表情動畫 iOS指示器集錦 彈窗增加 pickerView 可互動、無限個數、支援回

iOS中使用FFmpeg命令

簡介 FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉換以及流化音視訊的完整解決方案,包括了領先的音、視訊編碼庫libavcodec等。 ffmpeg.logo 以下是各個模組功能簡要說明: li

ios 使用動態庫解決ffmpeg庫衝突

ios 使用動態庫解決ffmpeg庫衝突 xcode 從6.0開始就支援動態庫的建立和使用,但是蘋果不允許使用動態庫來作熱外掛。 由於本人是做直播sdk的,在ios端使用ffmpeg做編解碼,客戶有時會整合多家sdk,而且可能都會用到ffmpeg靜態庫,由於用的ffmp

ffmpeg ios程式碼加字幕相關

ios上呼叫ffmpeg命令的配置方式可以參考: http://blog.csdn.net/leixiaohua1020/article/details/47072673 No such filter: 'subtitles' Error opening filters!

ffmpegiOS的使用

ffmpeg的簡介 FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。 “FFmpeg”這個單詞中的”FF”指的是”Fast Forward”。 ffmpeg支援的格式 ASF AVI BFI FLV GXF, General eX

FFmpegiOS上完美編譯

準備條件 先下載檔案: 複製gas-preprocessor.pl到/usr/sbin下, 修改檔案許可權:chmod 777 /usr/local/bin/gas-preprocessor.pl 安裝yasm具體步驟如下: 2. 解壓,找到檔案