Mac OS和Ubuntu OS下安装FFmpeg

/ 0评 / 0


Sandy经常下载下学习视频的文件都想要转换,mac很多软件是收费或者试用多少秒以后就不给转换了的。省的烦人,写个批量脚本搞定他

1.Ubntu OS下安装

第一步.安装 FFmpeg PPA

sudo add-apt-repository ppa:jonathonf/ffmpeg-4

第二步.安装 FFmpeg

sudo apt-get update
 sudo apt-get install ffmpeg

第三步.检查FFmpeg Version

ffmpeg version 4.2.1-0york0~18.04 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)

第四步.FFmpeg 基本命令

ffmpeg -version:             show version
ffmpeg -formats:             show available formats
ffmpeg -codecs:              show available codecs
ffmpeg -decoders:           show available decoders
ffmpeg -encoders:           show available encoders
ffmpeg -bsfs:                  show available bit stream filters
ffmpeg -protocols:          show available protocols
ffmpeg -filters:               show available filters
ffmpeg -pix_fmts:           show available pixel formats
ffmpeg -layouts:             show standard channel layouts
ffmpeg -sample_fmts:     show available audio sample formats

第5步.测试命令

ffmpeg -i in.mov -c:v libx264 -c:a copy -crf 20 out.mov
ffmpeg -i in.mov -vcodec copy -acodec aac -strict experimental -ab 128k out.mp4

2. Mac OS下安装

brew install ffmpeg

3.转换脚本

第一步. 建立sh文件

vim flvtomp4.sh

第二步. 编辑flvtomp4.sh文件

#! /bin/bash
function convert_all_to_mp4(){
for file in *.flv ; do
    local bname=`basename "$file" .flv`
    local mp4name="$bname.mp4"
    ffmpeg -i "$file" "$mp4name"
done
}
convert_all_to_mp4

将视频 MP4 转化为 GIF

ffmpeg -i small.mp4 small.gif

转化视频中的一部分为 GIF

ffmpeg -t 3 -ss 00:00:02 -i small.webm small-clip.gif

从视频中第二秒开始,截取时长为3秒的片段转化为 gif

转化高质量 GIF

默认转化是中等质量模式,若要转化出高质量的 gif,可以修改比特率

ffmpeg -i small.mp4 -b 2048k small.gif

视频属性调整

缩放视频尺寸

ffmpeg -i big.mov -vf scale=360:-1  small.mov

注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度。

如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2

加倍速播放视频

ffmpeg -i input.mov -filter:v "setpts=0.5*PTS" output.mov

定义帧率 16fps:

ffmpeg -i input.mov -r 16 -filter:v "setpts=0.125*PTS" -an output.mov

慢倍速播放视频

ffmpeg -i input.mov -filter:v "setpts=2.0*PTS" output.mov

静音视频(移除视频中的音频)

ffmpeg -i input.mov -an mute-output.mov

-an 就是禁止音频输出

将 GIF 转化为 MP4

ffmpeg -f gif -i animation.gif animation.mp4

也可以将 gif 转为其他视频格式

ffmpeg -f gif -i animation.gif animation.mpeg

ffmpeg -f gif -i animation.gif animation.webm

获取 GIF 的第一帧图片

使用 ImageMagick 可以方便第提取 gif 图片的第 N 帧图像。

安装 ImageMagick

brew install imagemagick

提取第一帧

convert 'animation.gif[0]' animation-first-frame.gif

通过 [0] 就可以提取出 gif 的第一帧图像。

GIF 转出来的 MP4 播放不了?

有些 GIF 转化出来的 MP4 不能被 Mac QuickTime Player.app 播放,需要添加 pixel formal 参数

ffmpeg -i input.gif -vf scale=420:-2,format=yuv420p out.mp4

使用 yunv420p 需要保证长宽为偶数,这里同时使用了 scale=420:-2

总结:转换时候需要用到cpu处理,所以sandy在黑苹果下运行,风扇是很大声的。

教程完毕

发表评论

邮箱地址不会被公开。 必填项已用*标注