Я хотел бы загрузить первоначально отредактированный x секунд mp3 с видео URL-адреса youtube.
Я нашел, что youtube-dl может загрузить видео с youtube на локальную машину. Но когда я посмотрел на страницы man youtube-dl, я не смог найти никаких вариантов отделки.Bash: скрипт bash для загрузки обрезанного mp3 с youtube url
Поэтому я попытался использовать ffmpeg для обрезания загруженного mp3-файла.
Вместо этого это два шага, мне нравится писать один скрипт bash, который делает то же самое.
Моя попытка приведена ниже.
Однако, я застрял в одном месте:
«КАК ПОЛУЧИТЬ ПЕРЕМЕННОЕ ИМЯ ВЫХОДА ФАЙЛА MP3 ИЗ YOUTUBE-DL?»
Сценарий приводится ниже:
# 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 "% (заголовок) s.% (Ext) s" дает дословный вывод, не дает выходного имени файла.
Как мы можем заставить скрипт работать?
Помощь будет оценена по достоинству.
1. вы создаете выходной файл из youtube-dl, вы не можете передать это имя как значение '-i' в' ffmpeg'? 2. вы можете проанализировать вывод 'ffmpeg -i file 2> 1 | grep -i title', чтобы извлечь имя заголовка, встроенное в файл. Или посмотрите на вывод файла 'ffmpeg -i', чтобы узнать, есть ли другое значение ключа, которое дает нужные вам данные. Это может помочь, если вы добавите небольшой пример ожидаемых имен файлов и т. Д. К вашему Q. Удачи. – shellter
Я пытаюсь указать вам направление, которое может помочь вам ответить на вашу проблему. Сначала нужно решить, если 'ffmpeg -i file 2> & 1 | grep -i title' производит что-нибудь полезное. Если это показывает точное значение, которое вы хотите использовать, то я думаю, вы имеете в виду 'OUTPUT_MP3 = $ (ffmpeg -i file 2> & 1 | grep -i title'. В противном случае вам нужно улучшить Q с помощью данных примера usefule. Удачи – shellter
@shellter Я получаю только имя выходного файла после его создания из youtube-dl, например hello.mp3, но я не знаю в скрипте. –