视频目录结构如下:
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/ # 文件输出目录
文章提供了一个名为run.sh的脚本,用于处理特定目录结构下的视频文件。脚本首先检查并创建输出目录video_out,然后遍历267132000目录下的子目录,利用jq解析entry.json获取视频名称,并使用ffmpeg合并audio.m4s和video.m4s为MP4文件,输出到video_out目录。
3530

被折叠的 条评论
为什么被折叠?



