视频目录结构如下:
267132000/
267132000/c_1015740000/
267132000/c_1015740000/entry.json
267132000/c_1015740000/80/
267132000/c_1015740000/80/audio.m4s
267132000/c_1015740000/80/video.m4s
267132000/c_1015740011/
267132000/c_1015740011/entry.json
267132000/c_1015740011/80/
267132000/c_1015740011/80/audio.m4s
267132000/c_1015740011/80/video.m4s
在267132000的同目录,编写脚本run.sh如下:
out_dir="./video_out"
if [ ! -d "$out_dir" ]; then
mkdir $out_dir
fi
for dir in ./267132003/*/; do
if [ -d "$dir" ]; then
filename=$(jq -r '.page_data.part' $dir/entry.json)
echo "Processing $dir $filename"
./ffmpeg -i "$dir/80/video.m4s" -i "$dir/80/audio.m4s" -c copy "$out_dir/$filename.mp4"
fi
done
需要安装jq
工具,来处理视频名字,也可以自己修改
需要将ffmpeg放置在同目录,或者进行修改
放置后的目录为:
run.sh
ffmpeg
267132000/ # BV下载视频目录
video_out/ # 文件输出目录