使用 ffmpeg 常用命令 + cuda

安装带 cuda 编解码器的 ffmpeg

安装 NVIDIA 头文件依赖

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install

将 cuda 支持编译进 ffmpeg

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
make -j 24
sudo make install

使用 ffmpeg 合并目录下的所有视频

# 导出目录下所有 ts 文件列表到文件 filelist.txt 中
for f in ./*.ts; do echo "file '$PWD/$f'"; done | sort -V > filelist.txt
# 将 filelist.txt 中所有视频文件合并为 output.mp4
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

使用 ffmpeg 压缩当前目录下的所有 mp4 视频

for i in *.mp4; do
    name=`echo $i | cut -d'.' -f1`;
    echo $name;
    ffmpeg -y -i "$i" -c:v h264_nvenc -preset llhq -rc:v vbr_minqp -qmin:v 26 -qmax:v 32 -b:v 2500k -maxrate:v 5000k -profile:v high "${name}.low.mp4";
done

发表评论

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

使用 samba + git 搭建公司内网共享文件服务器
Previous post
X11 通过 ssh 的远程桌面浏览
Next post