FFmpeg常用基本命令行

  参考:https://www.jianshu.com/p/f07f0be088d0

    https://www.jianshu.com/p/91727ab25227

  

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件] 

参数选项: 
1、-an: 去掉音频 
2、-vn: 去掉视频 
3、 -acodec: 设定音频的编码器,未设定时则使用与输入流相同的编解码器。音频解复用在一般后面加copy表示拷贝 
4、 -vcodec: 设定视频的编码器,未设定时则使用与输入流相同的编解码器,视频解复用一般后面加copy表示拷贝 
5、–f: 输出格式(视频转码)
6、 -bf: B帧数目控制 
7、 -g: 关键帧间隔控制(视频跳转需要关键帧)
8、 -s: 设定画面的宽和高,分辨率控制(352*278)
9、 -i:  设定输入流
10、 -ss: 指定开始时间(0:0:0511、 -t: 指定持续时间(0:0512、 -b: 设定视频流量,默认是200Kbit/s
13、 -aspect: 设定画面的比例
14、 -ar: 设定音频采样率
15、 -ac: 设定声音的Channel数
16、  -r: 提取图像频率(用于视频截图)
17、 -c:v:  输出视频格式
18、 -c:a:  输出音频格式
19、 -y:  输出时覆盖输出目录已存在的同名文件

 

 

  一、获取视频信息

  1、查看本地的视频信息

    ffmpeg -i D:\AI\bili_data\output.mp4

    

 

  2、查看远程http视频信息

    ffmpeg -i http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4

 

  3、从视频截取图片,1秒一个

    ffmpeg.exe -i D:/test.mp4 -r 1 -q:v 2 -f image2 -y D:/test/image_%03d.jpg

  

    def cutVideo(self, videoPath,save_name,start_time,length):
        '''
        小视频剪切
        :param videoPath: 源视频文件
        :param save_name: 剪切的小视频
        :param start_time: 开始时间,秒
        :param length: 时长,秒
        :return:
        '''
        FFMPEG_PATH =  'D:/FFmpeg/bin/ffmpeg.exe'
        ffmpeg = FFMPEG_PATH + ' -y -i  %s -ss %s -t %s -acodec copy -vcodec copy -async 1 %s' % (
        videoPath, start_time, length, save_name)
        # subprocess.call(ffmpeg)
        subprocess.Popen(ffmpeg, shell=True, stdin=subprocess.PIPE)

    def cutPictureVideoByOneSecond(self, videoPath,pictFile):
        '''
        从视频中剪切图片,1秒1个
        :param videoPath: 视频文件  'D:\test\清扬.mp4'
        :param pictFile: 保存图片文件 D:/test/image_%03d.jpg
        :return: 
        '''
        FFMPEG_PATH =  'D:/FFmpeg/bin/ffmpeg.exe'
        ffmpeg = FFMPEG_PATH + ' -i  %s  -r 1 -q:v 2 -f image2 -y  %s' % (
        videoPath, pictFile)
        # subprocess.call(ffmpeg)
        subprocess.Popen(ffmpeg, shell=True, stdin=subprocess.PIPE)

 

    

   二、通用选项

    1、-L  查看ffmpeg工具版本

      ffmpeg -L

    2、-h  查看帮助

      ffmpeg -h

    3、-codecs  编解码方式

    4、-f  fmt 强迫采用格式fmt (文件格式,如wav, avi等)如不指定该选项,则根据文件扩展名自动探测格式

    5、-i  filename  输入文件

    6、-y  覆盖输出文件

    7、-t duration 设置录制/转码的时长 单位秒,也支持hh:mm:ss格式

    8、-ss position 指定起始时间,hh:mm:ss格式也支持 ,例如:下面等效

      ffmpeg -ss 20 -i D:\AI\bili_data\test.mp4 -t 30 D:\AI\bili_data\output1.mp4

      ffmpeg -ss 00:00:20 -i D:\AI\bili_data\test.mp4 -t 30 D:\AI\bili_data\output1.mp4

    9、-fs   limit_size      set the limit file size in bytes

    10、-ac 设置声道数 -ac 1     1就是单声道 ,节省一半容量

    11、-b:v  主要是控制平均码率。-b:v 2000k

    12、-vcodec  视频编码格式转换 强制使用codec编解码方式

    13、-acodec   音频编码方式 是aac   ffmpeg -i test.mp4 -acodec aac -vn output.aac

    14、-vn  不做视频记录

    15、-an  不做音频记录

    16、转码 ffmpeg -i h265.ts -vcodec h264 -acodec aac -strict -2 h264.mp4

posted on 2021-06-18 16:59  shaomine  阅读(1021)  评论(0编辑  收藏  举报