Я пытаюсь
- Использование одного
batch
сценария для - Загрузка видео
mp4
с использованием youtube-dl - Сохранение исходного заголовка видео в пакетной переменной
- Преобразование видео в
webm
с помощью FFmpeg
Я хочу сохранить исходный заголовок,поэтому он должен прочитать заголовок с помощью youtube-dl
, сохранить его в переменной и использовать эту переменную для FFmpeg
имени файла ввода / вывода.
CMD Batch
1.Скачать видео
youtube-dl -f best "https://www.youtube.com/watch?v=TWNhqCHw0qc" -o "C:\Users\Matt\Downloads\%%(title)s.mp4" --merge-output-format mp4
2.Загрузка видео с использованием Loop
Используется для сохранения заголовка в переменной %%a
.
for /f "delims=" %%a in ('youtube-dl -f best "https://www.youtube.com/watch?v=TWNhqCHw0qc" -o @"C:\Users\Matt\Downloads\%%(title)s.mp4" --merge-output-format mp4') do (echo example)
3.Final Script
Скачать видео, сохранить заголовок, конвертировать с FFmpeg
Sorted
for /f "delims=" %%a in ('
youtube-dl
-f best "https://www.youtube.com/watch?v=TWNhqCHw0qc"
-o @"C:\Users\Matt\Downloads\%%(title)s.mp4"
--merge-output-format mp4
')
do (ffmpeg -y
-i "C:\Users\Matt\Downloads\%%a.mp4"
-c:v libvpx -b:v 1300K -crf 16 -pix_fmt yuv420p
-map 0:v:0? -sn
-c:a libvorbis -q:a 6 -ac 2 -map 0:a:0?
-f webm
"C:\Users\Matt\Downloads\%%a.webm"
)
Inline
for /f "delims=" %%a in ('youtube-dl -f best "https://www.youtube.com/watch?v=TWNhqCHw0qc" -o @"C:\Users\Matt\Downloads\%%(title)s.mp4" --merge-output-format mp4') do (ffmpeg -y -i "C:\Users\Matt\Downloads\%%a.mp4" -c:v libvpx -b:v 1300K -crf 16 -pix_fmt yuv420p -map 0:v:0? -sn -c:a libvorbis -q:a 6 -ac 2 -map 0:a:0? -f webm "C:\Users\Matt\Downloads\%%a.webm")
Ошибка
Прежде чем сценарий сможет достичь FFmpeg
, youtube-dl
не сможет загрузить файл.В нем говорится, что файл уже загружен, даже если в каталоге нет файла.
[download] @ C # \ Users \ Matt \ Downloads \ Color Balloons.mp4 уже загружен