要使用ffmpeg将youtube-dl webm文件转换为mp3的批处理脚本

Sne*_*ike 8 mp3 ffmpeg batch-file webm youtube-dl

我正在使用youtube-dl从youtube视频中提取最佳音频质量.然而,最优质的音频通常被证明是webm格式,这是无用的.我想编写一个批处理脚本,将webm文件转换为带有ffmpeg的mp3.我已经尝试过在reddit上使用这个指南来做它,但它似乎不起作用.它似乎创建一个空的mp3文件,当我尝试播放它时显示错误,并且元数据也是完全空白的.

这是批处理脚本:

for %%a in ("Downloaded\*.*") do %CD%\ffmpeg\bin\ffmpeg.exe -i "%%a" -vn -ar 44100 -ac 2 -ab 192k -f mp3 "Converted\%%~na.mp3" pause
Run Code Online (Sandbox Code Playgroud)

我还将解释整个事情应该如何运作.

我的想法是,你使用youtube-dl提取最好的音频,然后将该文件放入Downloaded文件夹(见下图),然后运行mp3脚本(使用来自ffmpeg的命令)转换webm文件在Downloaded文件夹中的mp3文件,并将其放在Converted文件夹中.mp3脚本是上面的代码.但它似乎没有正常工作.

我不熟悉批处理脚本,也不熟悉ffmpeg,所以任何帮助都会被认可.

这是补充说明部分的图片.

在此输入图像描述

phi*_*hag 18

youtube-dl已经包含此功能 - 只需指定您想要的mp3:

youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=BaW_jenozKc
Run Code Online (Sandbox Code Playgroud)

替换https://www.youtube.com/watch?v=BaW_jenozKc为您的实际网址.

  • 啊,好吧,我现在明白了.感谢您的耐心和理解. (2认同)

Fra*_*ani 16

您可以通过此脚本进行转换:

for FILE in *.webm; do
    echo -e "Processing video '\e[32m$FILE\e[0m'";
    ffmpeg -i "${FILE}" -vn -ab 128k -ar 44100 -y "${FILE%.webm}.mp3";
done;
Run Code Online (Sandbox Code Playgroud)

将其保存到 .sh 文件中并执行。它会自动将所有 .webm 转换为 .mp3