6

Это может быть придирчиво, но когда я использую 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>

Когда я проверял информацию тега ID3, он добавил название видео, как и ожидалось. Если я переименую расширение в AVI, воспроизведу аудиофайл и открою его свойства, я смогу увидеть нежелательную информацию, такую как описание видео, кодировщик версии и бренд. Опция --add-metadata записывает метаданные в видеофайл, из которого он получает описание видео, но когда я пропускаю это, видео вообще не помечается.

Я прочитал документацию Youtube-DL и FFMPEG, но не могу найти подходящий способ, чтобы убрать описание / информацию о видео и сохранить теги MP3.

Кто-нибудь знает как это сделать?

1 ответ1

2

Я не верю, что вы можете контролировать --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"

Надеюсь, это поможет!

PS: я знаю, что вопрос устарел, но размещение рабочего решения может помочь вам и другим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .