如何设置元属性并从实际的python代码中嵌入缩略图?我可以轻松地从命令行嵌入和添加元属性,例如:
youtube-dl https://www.youtube.com/watch?v=5wK5-ChsDsQ -x --audio-format mp3 --add-metadata --xattrs --embed-thumbnail --prefer-ffmpeg --postprocessor-args "-metadata comment='my comment'" -o 'yt_%(id)s_.mp3' --verbose
python代码的文档显示了一个基本示例,但没有任何高级内容,例如添加元数据和嵌入缩略图。
答案 0 :(得分:2)
您必须添加后处理器:
from __future__ import unicode_literals
import youtube_dl
ydl_opts = {
'writethumbnail': True,
'postprocessors': [
{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
},
{'key': 'EmbedThumbnail'},
{'key': 'FFmpegMetadata'},
],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['http://www.youtube.com/watch?v=5wK5-ChsDsQ'])
答案 1 :(得分:0)
与python相比,我更喜欢使用命令,因为它具有充分解释的文档。因此,我建议您制作一个包含首选命令的bash脚本。然后运行将调用bash脚本并运行命令的python程序。
Linux:yt_script.sh:
#!/bin/sh
youtube-dl $1 -x --audio-format mp3 --add-metadata --xattrs --embed-thumbnail --prefer-ffmpeg --postprocessor-args "-metadata comment='my comment'" -o 'yt_%(id)s_.mp3' --verbose
exit 0
,然后在python文件中调用bash脚本,将URL作为参数。
python_program.py:
import subprocess
subprocess.call(["Path/to/yt_script.sh","https://www.youtube.com/watch?v=5wK5-ChsDsQ"])
不要忘记在终端中输入chmod u+x Path/to/yt_script.sh
来验证bash脚本。
然后运行python /Path/to/python_program.py
从终端运行程序。
您可能还需要将参数(youtube URL)传递给命令。 您可以通过如下编辑“ python_program.py”来做到这一点:
import subprocess
import sys
subprocess.call(["Path/to/yt_script.sh",sys.argv[1]])
然后您要做的就是打开终端,运行python程序,并在命令末尾添加YouTube URL,如下所示:python /Path/to/python_program.py https://www.youtube.com/watch?v=5wK5-ChsDsQ
我希望这可以清除一切!