rakulang, dartlang, nimlang, golang, rustlang, lang lang no see

使用 FFmpeg 提取抖音短视频中的音乐

焉知非鱼

Use FFmpeg to extract music in TikTok

抖音短视频有很多好听的歌, 网易云音乐、QQ音乐和虾米音乐上都没有, 但是可以把视频转成 mp3 格式。 使用 FFmpeg 来搞定。点击抖音上的转发按钮, 如果「保存本地」的按钮不是灰色的, 表示可以下载到手机上。下载完后, 再转发到电脑上, 下载好 ffmpeg:

brew install ffmpeg

从视频中采集音频 #

ffmpeg -i input.mp4 -f mp3 -vn output.mp3

ffmpeg -i input.mp4 -q:a 0 -map a output.mp3

或者只截取全部音频中的一小段:

ffmpeg -ss 00:00:03 -t 0:0:14 -i alcastar.mp4 -f mp3 -vn alcastar.mp3

其中 -ss 00:00:03 用于指定要截取的音频的起始时间, 即从第三秒开始截取; -t 0:0:14 用于指定要截取的音频的持续时长, 即截取 14 秒的音频。 -i alcastar.mp4 用于指定输入文件, 即下载好的视频文件; -f mp3 用于指定输出格式为 mp3; -vn 即 no vedio, 即不保留视频; 最后的 alcastar.mp3 是输出文件名。

去除音频中的静音 #

ffmpeg -i input.mp3 -af silenceremove=1:0:-50dB output.mp3

给视频添加字幕 #

ffmpeg -i input.mp4 -i SRT文件 -c copy -c:s mov_text -metadata:s:s:0  language=<language code> output.mp4 

移除超过1秒的静止画面 #

ffmpeg -i in.mp4 -vf
"select='if(gt(scene,0.01),st(1,t),lte(t-ld(1),1))',setpts=N/FRAME_RATE/TB"
trimmed.mp4

将图片和音频合成视频 #

ffmpeg -loop 1 -i $image -i $audio_file -q:v 1 -c:a copy  -shortest $video_file

将多个视频合并成一个 #

ffmpeg -safe 0 -f concat -i $list_file -c:v libx264 $final

list file 的格式是:

file './data_1.ts'
file './data_2.ts'
file './data_3.ts'