我想从YouTube的视频网址下载最初的x秒修剪的mp3。
我发现youtube-dl可以将视频从youtube下载到本地机器。但是,当我查看youtube-dl的手册页时,找不到任何修剪选项。bash:bash脚本从youtube下载修剪的mp3 url
所以我试图用ffmpeg来修剪下载的mp3文件。
而不是这样做是两个步骤,我喜欢写一个bash脚本来做同样的事情。
我的尝试如下。
但是,我被困在一个地方:
“如何从YOUTUBE-DL获取输出MP3文件的可变名称?”
该脚本如下:
# trim initial x seconds of mp3 file
# e.g. mytrim https://www.youtube.com/watch?v=dD5RgCf1hrI 30
function mytrim() {
youtube-dl --extract-audio --embed-thumbnail --audio-format mp3 -o "%(title)s.%(ext)s" $1
ffmpeg -ss $2 -i $OUTPUT_MP3 -acodec copy -y temp.mp3
mv temp.mp3 $OUTPUT_MP3
}
如何获得变量值$ OUTPUT_MP3?
echo“%(title)s。%(ext)s”给出逐字输出,不给出输出文件名。
我们如何使脚本工作?
帮助将不胜感激。
1.创建一个输出文件youtube-dl,你不能将'-i'值作为'ffmpeg'吗? 2.你可以解析'ffmpeg -i file 2> 1 |的输出grep -i标题“来提取嵌入在文件中的标题名称。或者查看'ffmpeg -i file'的输出来查看是否有不同的键值提供您需要的数据。这可能会有所帮助,如果你添加一些小样本期望的文件名等你的问题。祝你好运。 – shellter
我正试着指出一个方向,可以帮助你回答你的问题。你需要先决定是否ffmpeg -i file 2>&1 | grep -i title'生产任何有用的东西。如果显示的是你想要使用的确切值,那么我认为你的意思是'OUTPUT_MP3 = $(ffmpeg -i file 2>&1 | grep -i title'。否则你需要用有用的示例数据来提高你的Q值。 – shellter
@shellter我只在从youtube-dl创建输出文件名后,例如hello.mp3,但是,我不知道在脚本中。 –