FFMPEG专题--常用命令备忘录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012188065/article/details/86703761

1、播放视频

1.1 播放指定视频

ffplay -i test.mp4

1.2 以特定大小的窗口播放视频

如 以640x480的窗口来播放指定视频

ffplay -x 640 -y 480 -i test.mp4

2、转码视频

2.1 更改文件的封装格式

如 mp4->mkv, 示例:

ffmpeg -i test.mp4 -vcodec copy -acodec copy -f matroska test.mkv

注1:
-vcodec copy -acodec copy 等选项可以简化为 -codec copy,
ffmpeg会原封不动将video packet, audio packet 以及subtitle packet(如果有的话) 拷贝到新的文件中。即 :

ffmpeg -i test.mp4 -codec copy  -f matroska test.mkv

注2:
-i 后面跟 input文件名字
-f 后面跟 output文件的封装格式
-vcodec 后跟指定的视频编码格式,如果是copy,则表示转码时不更改video packet的数据,编码格式与源文件相同
-acodec 后跟指定的音频编码格式,如果是copy,则表示转码时不更改audio packet的数据,编码格式与源文件相同
-subtitle 用法同 -vcodec -acodec

注3:
具体的封装协议代号可以通过

ffmpeg -muxers 

命令来查看

$ffmpeg -muxers
ffmpeg version N-91579-g243ecadad5 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: 
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.100 / 58. 22.100
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
  E 3g2             3GP2 (3GPP2 file format)
  E 3gp             3GP (3GPP file format)
  E a64             a64 - video for Commodore 64
  E ac3             raw AC-3
  E adts            ADTS AAC (Advanced Audio Coding)
  E adx             CRI ADX
  E aiff            Audio IFF
  E alaw            PCM A-law
  ……
  E matroska        Matroska
  E md5             MD5 testing
  E microdvd        MicroDVD subtitle format
  E mjpeg           raw MJPEG video
  E mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix
  E mlp             raw MLP
  E mmf             Yamaha SMAF
  E mov             QuickTime / MOV
  E mp2             MP2 (MPEG audio layer 2)
  E mp3             MP3 (MPEG audio layer 3)
  E mp4             MP4 (MPEG-4 Part 14)
 ……

第二列就是我们要找的封装格式,如 3gp, aac这些

注4:
具体的编码协议代号可以通过

ffmpeg -codecs 

命令来查看

$ffmpeg -encoders
ffmpeg version N-91579-g243ecadad5 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: 
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.100 / 58. 22.100
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
Encoders:
 V..... = Video
 A..... = Audio
 S..... = Subtitle
 .F.... = Frame-level multithreading
 ..S... = Slice-level multithreading
 ...X.. = Codec is experimental
 ....B. = Supports draw_horiz_band
 .....D = Supports direct rendering method 1
 ------
 V..... a64multi             Multicolor charset for Commodore 64 (codec a64_multi)
 V..... a64multi5            Multicolor charset for Commodore 64, extended with 5th color (colram) (codec a64_multi5)
 V..... alias_pix            Alias/Wavefront PIX image
 ……
 V..... flv                  FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (codec flv1)
 V..... gif                  GIF (Graphics Interchange Format)
 V..... h261                 H.261
 V..... h263                 H.263 / H.263-1996
 V.S... h263p                H.263+ / H.263-1998 / H.263 version 2
 V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264)
 VF.... huffyuv              Huffyuv / HuffYUV
 V..... jpeg2000             JPEG 2000

……
 A..... aac                  AAC (Advanced Audio Coding)
 A..... ac3                  ATSC A/52A (AC-3)
 A..... ac3_fixed            ATSC A/52A (AC-3) (codec ac3)
 A..... adpcm_adx            SEGA CRI ADX ADPCM
 A..... g722                 G.722 ADPCM (codec adpcm_g722)

第二列就是我们要找的编码格式,如 h263, aac, ac3这些

同理,举一反三
查看所有的decoder

ffmpeg -decoders

查看所有支持的颜色格式

ffmpeg -pix_fmts

查看所有支持的采样格式

ffmpeg -sample_fmts

等等等等

猜你喜欢

转载自blog.csdn.net/u012188065/article/details/86703761