zoukankan      html  css  js  c++  java
  • ffmpeg转码参数设置

    ffmpeg用了很久了,也没有想写点什么。

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

    本文主要介绍如何使用ffmpeg.exe进行转码。编译好的ffmpeg可以从下面目录下载:

    http://ffmpeg.org/download.html 

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

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

    File formats:
     D. = Demuxing supported
     .E = Muxing supported
     --
      E 3g2             3GP2 (3GPP2 file format)
      E 3gp             3GP (3GPP file format)
     D  4xm             4X Technologies
      E a64             a64 - video for Commodore 64
     D  aac             raw ADTS AAC (Advanced Audio Coding)
     DE ac3             raw AC-3
     D  act             ACT Voice file format
     D  adf             Artworx Data Format
     D  adp             ADP
      E adts            ADTS AAC (Advanced Audio Coding)
     DE adx             CRI ADX
     D  aea             MD STUDIO audio
     D  afc             AFC
     DE aiff            Audio IFF
     DE alaw            PCM A-law
     D  alias_pix       Alias/Wavefront PIX image
     DE amr             3GPP AMR
     D  anm             Deluxe Paint Animation
     D  apc             CRYO APC
     D  ape             Monkey's Audio
     D  apng            Animated Portable Network Graphics
     D  aqtitle         AQTitle subtitles
     DE asf             ASF (Advanced / Active Streaming Format)
      E asf_stream      ASF (Advanced / Active Streaming Format)
     DE ass             SSA (SubStation Alpha) subtitle
     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 复制视频,不转码

  • 相关阅读:
    jquery toggle(listenerOdd, listenerEven)
    struts quick start
    hdu 1518 Square (dfs)
    hdu 2544 最短路 (最短路径)
    hdu 1754 I Hate It (线段树)
    hdu 1856 More is better (并查集)
    hdu 1358 Period (KMP)
    hdu 2616 Kill the monster (DFS)
    hdu 2579 Dating with girls(2) (bfs)
    zoj 2110 Tempter of the Bone (dfs)
  • 原文地址:https://www.cnblogs.com/tocy/p/ffmpeg_transcode_formats.html
Copyright © 2011-2022 走看看