#audio #video #ffmpeg
#Аудио #Видео #ffmpeg
Вопрос:
У меня есть один видеофайл .mkv
. Внутри этого файла есть видеодорожка, 3 аудиодорожки, 2 субтитра, файл постера и файл фона. Знает ли ffmpeg, как разделить .mkv
на отдельные части, видео / 3 аудио / 2 субтитра?
~# ffmpeg -hide_banner -i input.mkv
Input #0, matroska,webm, from 'input.mkv':
Duration: 01:37:03.90, start: 0.000000, bitrate: 3605 kb/s
Metadata:
title : 01:33:51.582
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1024x576 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Metadata:
title : Video
Stream #0:1(rus): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
Metadata:
title : MVO «West Video»
Stream #0:2(spa): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
title : MVO Spain-1
Stream #0:3(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
title : MVO TRK
Stream #0:4(eng): Subtitle: subrip (default)
Metadata:
title : RUS
Stream #0:5(eng): Subtitle: subrip
Metadata:
title : Eng
Stream #0:6(und): Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 780x1170 [SAR 1:1 DAR 2:3], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
filename : poster.jpg
mimetype : image/jpeg
title : poster
LANGUAGE : und
Stream #0:7(und): Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1280x719 [SAR 1:1 DAR 1280:719], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
filename : backdrop.jpg
mimetype : image/jpeg
title : backdrop
LANGUAGE : und
Мне нужно:
- Видео
- ввод0.mp4
- Аудио
- ввод0.m4a
- вход1.m4a
- ввод2.m4a
- Субтитры
- input0.vtt
- вход1.vtt
Эти команды выполняют разделение, но мне нужно точно знать, сколько аудиофайлов и сколько файлов субтитров в mkv
.
ffmpeg -y -i input.mkv
-map 0:v:0 -c:v libx264 output0.mp4
ffmpeg -y -i input.mkv
-map 0:a:0 -c:a aac output0.m4a
-map 0:a:1 -c:a aac output1.m4a
-map 0:a:2 -c:a aac output2.m4a
ffmpeg -y -i input.mkv
-map 0:s:0 output0.vtt
-map 0:s:1 output1.vtt
Можно ли сделать такие разделения , не зная номера файла 0:a:2
, 0:s:1
?
Комментарии:
1. Такой автоматической встроенной функции нет. Но смотрите , как ffprobe подсчитывает видео- и аудиопотоки / дорожки , которые могут быть полезны.