本文最后更新于 956 天前,其中的信息可能已经有所发展或是发生改变。
引言
因为接触了 YouTube-dl,下载频道的所有内容非常好用,但是下载下来是 webm 格式兼容性不是太好,于是查看了使用 ffmpeg 转换格式的命令
早就写好的文章今天才发现没发,要不是 Linux 自带的视频多数格式不能解码我会不会忘记发布这篇文章啊
配置文件
后来发现改下配置文件就行,在文件后加上
--merge-output-format mp4
放下我的配置文件
-o 'C:/Users/yexca/Downloads/Video/%(uploader)s/%(upload_date)s%(title)s%(id)s.%(ext)s' --merge-output-format mp4
单个命令
使用下述命令即可快速转码
ffmpeg -i before.webm after.mp4
但一个一个转码属实是太慢了,于是想到了使用批处理
批处理
新建记事本,输入以下代码
for %%a in (*.webm) do ffmpeg -i "%%~a" -vcodec copy -f mp4 "%%~na.mp4"
其中 (*.webm) 为原始文件类型 “%%~na.mp4″为想要生成的文件类型
然后保存并命名为 run.bat
后放到相应文件夹运行即可
但这样每次想转不同的文件还得编辑下,不大实用啊(
dos
然后我就看了一点 bat 文件的东西,简单写了下面的程序 (需要使用 GB2312
编码才可以正常在命令行输出中文)
echo off :0 echo 请输入数字选择操作 echo 1.转码 echo 2.删除 echo 3.退出 set /p choice=请选择 goto %choice% :1 set /p before=请输入转码前文件格式 set /p after=请输入转码后文件格式 echo 开始转码%before%到%after% for %%a in (*.%before%) do ffmpeg -i "%%~a" -vcodec copy -f %after% "%%~na.%after%" echo 转码完成 goto 0 :2 set /p delet=请输入需要删除的文件格式 echo 开始删除%delet% del *.%delet% del %delet% echo 删除完成 goto 0 :3 exit
放到相应文件夹下用就好了
参考文章
事实上这段代码基于另一个程序修改 (虽然大部分代码重写),但很遗憾我找不到原作者的文章了
FDM 挂了,youtube-dl 鬼慢,烤肉 man 的末日到了!中 AnnMilne 的评论