引言
因为接触了YouTube-dl,下载频道的所有内容非常好用,但是下载下来是webm格式兼容性不是太好,于是查看了使用ffmpeg转换格式的命令
配置文件
后来发现改下配置文件就行,在文件后加上
1
--merge-output-format mp4
放下我的配置文件
1
-o 'C:/Users/yexca/Downloads/Video/%(uploader)s/%(upload_date)s%(title)s%(id)s.%(ext)s' --merge-output-format mp4
单个命令
使用下述命令即可快速转码
1
ffmpeg -i before.webm after.mp4
但一个一个转码属实是太慢了,于是想到了使用批处理
批处理
新建记事本,输入以下代码
1
for %%a in (*.webm) do ffmpeg -i "%%~a" -vcodec copy -f mp4 "%%~na.mp4"
其中(*.webm)为原始文件类型 “%%~na.mp4″为想要生成的文件类型
然后保存并命名为run.bat
后放到相应文件夹运行即可
但这样每次想转不同的文件还得编辑下,不大实用啊(
dos
然后我就看了一点bat文件的东西,简单写了下面的程序(需要使用GB2312
编码才可以正常在命令行输出中文)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
放到相应文件夹下用就好了
参考文章
youtube-dl 的一些实用技巧 · eisen blog