用ffmpeg标记音频文件
安装 ffmpeg
nix-env -iA nixpkgs.ffmpeg
导出标记
ffmpeg -i track12.mp3 -f ffmetadata metadata.txt
ffmpeg -i "timeless方大同 - 10 Moon River.flac" -f ffmetadata metadata.txt
提取封面图片
ffmpeg -i track12.mp3 cover.jpg
# 添加封面图并另存为音乐
ffmpeg -y -i track12.mp3 -i cover.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 track12_new.mp3
ffmpeg -i op.mkv -s 320*240 -vf subtitles=op.mkv op_min.avi
mp3转m4a
ffmpeg -i ai.mp3 -ab 320k op_min.m4a ffmpeg -i ai.mp3 -ss 00:00:20 -ab 320k op_min3.m4a
视频转gif
ffmpeg -i VID_20230601_221632.mp4 -ss 00:00:00.500 -t 2 -r 15 -s 480x272 out1.gif
视频截取
# 视频截取 从25s-00:06:32
ffmpeg -i docker.mp4 -ss 25 -to 00:06:32 -avoid_negative_ts make_zero output.mp4
字幕偏移
# 先再波峰文件再打开srt文件的时间计算偏移时间
# 负数向前, 正数向后
ffmpeg -itsoffset -21.6 \
-i origin.srt \
-y \
-c copy subtitles_delayed.srt
封装视频+字幕
# 且分别设置视频,音频,字幕的语言标记; 数字0就是第n+1个轨道
ffmpeg \
-i Iron.Man.2008.1080p.BrRip.x264.YIFY.mp4 \
-i test.srt \
-c copy \
-metadata:s:v:0 language=en \
-metadata:s:a:0 language=en \
-metadata:s:s:0 language=zh \
output_video.mkv
# 导出字幕文件
ffmpeg -i output_video.mkv
# ffmpeg -i output_video.mkv -map 0:[index] from_mkv.srt
ffmpeg -i output_video.mkv -map 0:2 from_mkv.srt
# 也可以导出音频
# ffmpeg -i output_video.mkv -map 0:1 from_mkv.aac