ffmpeg轉碼參數設置


ffmpeg用了很久了,也沒有想寫點什么。

剛接觸ffmpeg也是有大量的不理解的地方,不過慢慢的了解多了基本上都是可以使用的。

本文主要介紹如何使用ffmpeg.exe進行轉碼。編譯好的ffmpeg可以從下面目錄下載:

http://ffmpeg.org/download.html 

首先,可以使用-formats命令,查看ffmpeg支持的封裝格式。

下面截取一段:(D、E分別表示解復用和復用)

 1 File formats:
 2  D. = Demuxing supported
 3  .E = Muxing supported
 4  --
 5   E 3g2             3GP2 (3GPP2 file format)
 6   E 3gp             3GP (3GPP file format)
 7  D  4xm             4X Technologies
 8   E a64             a64 - video for Commodore 64
 9  D  aac             raw ADTS AAC (Advanced Audio Coding)
10  DE ac3             raw AC-3
11  D  act             ACT Voice file format
12  D  adf             Artworx Data Format
13  D  adp             ADP
14   E adts            ADTS AAC (Advanced Audio Coding)
15  DE adx             CRI ADX
16  D  aea             MD STUDIO audio
17  D  afc             AFC
18  DE aiff            Audio IFF
19  DE alaw            PCM A-law
20  D  alias_pix       Alias/Wavefront PIX image
21  DE amr             3GPP AMR
22  D  anm             Deluxe Paint Animation
23  D  apc             CRYO APC
24  D  ape             Monkey's Audio
25  D  apng            Animated Portable Network Graphics
26  D  aqtitle         AQTitle subtitles
27  DE asf             ASF (Advanced / Active Streaming Format)
28   E asf_stream      ASF (Advanced / Active Streaming Format)
29  DE ass             SSA (SubStation Alpha) subtitle
30  DE ast             AST (Audio Stream)

可以使用-codecs命令,查看ffmpeg支持的編解碼器,

ffmpeg輸出格式如下:(D、E表示的解碼器、編碼器)

Codecs:

  D..... = Decoding supported
  .E.... = Encoding supported
  ..V... = Video codec
  ..A... = Audio codec
  ..S... = Subtitle codec
  ...I.. = Intra frame-only codec
  ....L. = Lossy compression
  .....S = Lossless compression
  -------
  D.VI.. 012v                 Uncompressed 4:2:2 10-bit
  D.V.L. 4xm                  4X Movie
  D.VI.S 8bps                 QuickTime 8BPS video
  .EVIL. a64_multi            Multicolor charset  for  Commodore 64 (encoders: a64multi )
  .EVIL. a64_multi5           Multicolor charset  for  Commodore 64, extended with 5th color (colram) (encoders: a64multi5 )
  D.V..S aasc                 Autodesk RLE
  D.VIL. aic                  Apple Intermediate Codec
  DEVI.S alias_pix            Alias/Wavefront PIX image
  DEVIL. amv                  AMV Video
  D.V.L. anm                  Deluxe Paint Animation
  D.V.L. ansi                 ASCII/ANSI art
  D.V..S apng                 APNG (Animated Portable Network Graphics) image
  DEVIL. asv1                 ASUS V1
  DEVIL. asv2                 ASUS V2
  D.VIL. aura                 Auravision AURA
  D.VIL. aura2                Auravision Aura 2
  D.V... avrn                 Avid AVI Codec
  DEVI.. avrp                 Avid 1:1 10-bit RGB Packer
  D.V.L. avs                  AVS (Audio Video Standard) video
  DEVI.. avui                 Avid Meridien Uncompressed
  DEVI.. ayuv                 Uncompressed packed MS 4:4:4:4
 

ffmpeg命令通常格式如下:

ffmpeg -i xxx out_file  

常用的轉換格式命令如下:

1. mpeg audio轉pcm原始數據

ffmpeg -i cctv2_4101.mpa -f s16le -ar 48000 -acodec pcm_s16le cctv2-4101-Normal.pcm

2. jpg轉yuv

jpeg -> yuv420
ffmpeg.exe -i input_file.jpg -pix_fmt yuv420p -y output_file.yuv -v 0

yuv -> jpeg
將大小為720x576的input_file.yuv原始數據另存為jpg格式
ffmpeg.exe -y -s 720x576 -i input_file.yuv -vcodec mjpeg output_file.jpg

3. 不同封裝格式轉換

3gp to avi

ffmpeg -i source.3gp -f avi -vcodec xvid -acodec mp3 -ar

22050 destination.avi

flv to 3gp
ffmpeg -i source.flv -s 176×144 -vcodec h263 -r 25 -b 200
-ab 64 -acodec mp3 -ac 1 -ar 8000 destination.3gp

flv to mp4
ffmpeg -i source.flv -vcodec h264 -r 25 -b 200 -ab 128
-acodec mp3 -ac 2 -ar 44100 destination.mp3

avi to mp4
ffmpeg -i source.avi -f psp -r 29.97 -b 768k -ar 24000 -ab
64k -s 320×240 destination.mp4

mp4 to 3gp
ffmpeg -i source.mp4 -s 176×144 -vcodec h263 -r 25 -b 12200
-ab 12200 -ac 1 -ar 8000 destination.3gp

avi to 3gp
ffmpeg -i source.avi-s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -r 25 -ab 32 -y destination.3gp

mpg to 3gp
ffmpeg -i source.mpg -s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -ab 32 -y destination.3gp

4. yuv轉h264 raw/TS

ffmpeg.exe -s 352x288 -pix_fmt yuv420p -i test_352x288.yuv -vcodec libx264 out.h264

(若輸出文件改為out.ts,即可實現yuv轉ts)

 

以下簡單總結下ffmpeg命令參數:

-i 指定要轉換視頻的源文件
-s 視頻轉換后視頻的分辨率
-vcodec 視頻轉換時使用的編解碼器(-codecs)
-r 視頻轉換換的楨率(默認25楨每秒)
-b 視頻轉換換的bit率
-ab 音頻轉換后的bit率(默認64k)
-acodec 制度音頻使用的編碼器(-codecs)
-ac 制定轉換后音頻的聲道

-ar 音頻轉換后的采樣率

-an 禁用音頻

-vn 禁用視頻

-acodec copy 復制音頻,不轉碼

-vcodec copy 復制視頻,不轉碼

 


免責聲明!

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



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