FFmpeg使用笔记

CentOS 7 下安装FFmpeg

dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$\(rpm -E %fedora).noarch.rpm

intel核显也可以直接使用支持qsv的dockerffmpeg-qsv

检查视频完整性

ffmpeg -v error -i file.avi -f null -  

输出到日志

ffmpeg -v error -i file.avi -f null -  2>error.log

查看信息

ffmpeg -i file.mp4

指定码率和分辨率

ffmpeg -i A.mp4 -vcodec libx264 -b:v 1500k -vf scale=1280:720 B.mp4

缩放为固定分辨率的命令行:

ffmpeg -i 1.mp4 -vf scale=640:480 output.mp4

缩放为自适应宽高比的命令行:

ffmpeg -i 1.mp4 -vf scale=640:-2 output.mp4

合并

创建一个文本文件,列出要合并的视频文件。以下是一个示例:

首先,创建一个文本文件,比如 input.txt,内容如下:

file 'input1.mp4'
file 'input2.mp4'

可使用脚本生成

Windows:

(for %i in (*.wmv) do @echo file '%i') > input.txt

Linux:

printf "file '%s'\n" *.wmv > input.txt

然后,使用以下命令将这两个视频文件合并成一个:

ffmpeg -f concat -i input.txt -c copy output.mp4

在这个例子中,input.txt 包含了要合并的视频文件列表。-f concat 告诉 FFmpeg 使用 concat 协议,-i input.txt 指定了输入文件,-c copy 告诉 FFmpeg 只进行复制而不重新编码,这样可以加快处理速度并且保持视频质量,最后的 output.mp4 是合并后的输出文件名。

提取ISO中的文件,我这里取的都是第一条流

ffmpeg -i input.iso -map 0:v:0 -map 0:a:0 -c copy output.mp4

截图功能

ffmpeg -ss 00:12:39.0 -i input.wmv  -frames:v 1 /share/media/output.jpg

截取视频

ffmpeg  -ss 00:45:35 -to 00:57:47 -i input.mp4 -c copy test.mp4

下载m3u8文件

ffmpeg -i 视频地址 -c copy -bsf:a aac_adtstoasc output.mp4

ffmpeg毕竟不是下载工具,下载也可以使用m3u8-downloader,支持更多参数。

合并字幕

推荐使用外挂字幕形式,合并成mkv格式

ffmpeg -i input.mp4 -i sub.srt -c copy  output.mkv

也可以使用mkvmerge进行处理

参考MKVToolNix 26.0.0 Released, How to Install it in Ubuntu进行安装

sudo sh -c 'echo "deb https://mkvtoolnix.download/ubuntu/ $(lsb_release -sc) main" >> /etc/apt/sources.list.d/bunkus.org.list'

wget -q -O - https://mkvtoolnix.download/gpg-pub-moritzbunkus.txt | sudo apt-key add -

sudo apt-get update

sudo apt-get install mkvtoolnix

合并字幕,并且设置默认字幕为中文

mkvmerge -o merge/Game.of.Thrones.S02E08.mkv  Game.of.Thrones.S02E08.mkv --language 0:chi Game.of.Thrones.S02E08.ass 

反交错

隔行扫描的视频可以在转码阶段进行反交错处理

ffmpeg -i input.mp4 -vf yadif output.mp4

若视频包含大量快速运动场景可使用mdeint、bwdif、mcdeint滤镜

参考文档

FFMPEG合并视频文件(无损)

每天一点FFmpeg


FFmpeg使用笔记
https://blog.yjll.blog/post/9539654e.html
作者
简斋
发布于
2023年12月8日
许可协议