jal*_*eco 9 video linux mp3 ffmpeg youtube-dl
这可能有点挑剔,但是当我使用 Youtube-DL 将音频从视频转换为 MP3 时,我还让它标记标题并嵌入视频中的缩略图。它以某种方式添加了视频描述和其他一些我不想要的元视频信息。这是我使用的命令:
youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url>
Run Code Online (Sandbox Code Playgroud)
当我检查 ID3 标签信息时,它按预期添加了视频标题。如果我将扩展名重命名为 AVI、播放音频文件并打开其属性,我可以看到不需要的信息,如视频描述、版本编码器和品牌。该选项--add-metadata
将元数据写入视频文件,从中获取视频描述,但是当我忽略它时,视频根本不会被标记。
我通读了 Youtube-DL 和 FFMPEG 的文档,但找不到合适的方法来剥离视频描述/信息并保持 MP3 标记。
有谁知道如何做到这一点?
小智 5
我不相信你目前可以控制该--add-metadata
选项。
但是,您可以使用该--exec
选项随后使用对输出文件的引用执行命令{}
,并要求ffmpeg
删除不需要的元数据,如下所示:
--exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3"
就地执行“转换”过程(覆盖同一个文件)会破坏输出文件的流数据,但添加辅助temp.mp3
然后覆盖它使其工作起来就像一个魅力。
我测试了以下命令组合:
youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url> --exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3;cp -r temp.mp3 {};rm -rf temp.mp3"
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
PS:我知道这个问题有点老了,但发布一个可行的解决方案可能会对您和其他人有所帮助。
归档时间: |
|
查看次数: |
7176 次 |
最近记录: |