#video #ffmpeg #youtube-dl
#Видео #ffmpeg #youtube-dl
Вопрос:
Для потокового онлайн-видео, которое я хотел бы загрузить, у меня есть два файла m3u8.
Один для самого видео с segment-0.ts до segment-250.ts:
#EXTINF:6.000000,
segment-0.ts
#EXTINF:6.000000,
segment-1.ts
#EXTINF:6.000000,
segment-2.ts
#EXTINF:6.000000,
segment-3.ts
#EXTINF:6.000000,
segment-4.ts
и еще один m3u8 для аудио сегментов:
#EXTINF:6.016000,
segment-0.aac
#EXTINF:6.016000,
segment-1.aac
#EXTINF:6.016000,
segment-2.aac
#EXTINF:6.016000,
segment-3.aac
#EXTINF:6.016000,
Итак, я использую youtube-dl и ffmpeg для загрузки обоих m3u8 отдельно, а затем объединяю их, чтобы получить окончательный mp4 (аудио видео).
Есть ли способ объединить файлы или использовать объединенную команду в терминале для автоматической загрузки обоих и их объединения?
Ответ №1:
FFmpeg может обрабатывать несколько входных данных:
ffmpeg -i <first> -i <second> output.mp4
Просто поместите оба URL-адреса, возвращенные с youtube-dl:
youtube-dl -g <my-first-url>
youtube-dl -g <my-second-url>
Если вы используете систему unix (linux / macOS), вы можете выполнить оба шага одной командой:
ffmpeg -i $(youtube-dl -g <my-first-url>) -i $(youtube-dl -g <my-second-url>) output.mp4
Комментарии:
1. Имейте в виду, что параметр видеокодека необходим, иначе поток может быть перекодирован в более низком качестве