MP4Box: Как автоматически добавить видео TrackID в пакетный файл?

288
MurderOfPoes

Обновление: я использовал более старую версию ffmpeg и у меня были проблемы с ней.

Обновление решило мою проблему, и мне больше не нужно использовать MP4Box для извлечения правильной видеодорожки.

Теперь мне просто любопытно, может ли MP4Box автоматически использовать TrackID видео после его обнаружения.


У меня были проблемы с извлечением необработанного файла h264 из mkv с помощью ffmpeg, поэтому я решил использовать MP4Box, и он работал хорошо.

Поэтому я сделал следующий пакетный файл, чтобы извлечь нужные мне файлы:

@echo on ffmpeg.exe -i "%1" -c copy -map 0:a? -f tee "[select='a\:0':onfail=ignore]"%~n1"_a0.aac|[select='a\:1':onfail=ignore]"%~n1"_a1.aac|[select='a\:2':onfail=ignore]"%~n1"_a2.aac|[select='a\:3':onfail=ignore]"%~n1"_a3.aac|[select='a\:4':onfail=ignore]"%~n1"_a4.aac|[select='a\:5':onfail=ignore]"%~n1"_a5.aac"  ffmpeg.exe -y -i "%1" -map 0:a? -map 0:v -c:v copy -c:a copy "%~n1.mp4"  MP4Box -add "%~n1.mp4"#video -raw %$2% -new "%~n1"  del /f "%~n1"  MP4Box -add "%~n1"_track%$2%.h264:fps=60 -new "%~n1"_fix.mp4  del /f "%~n1"_track%$2%.h264 

Если я вписываю имя командного файла и mkv-файла в строку cmd, это работает нормально.

Но если я перетащу файл mkv в командный файл, он не сможет заменить% $ 2% на видео TrackID.

MP4Box -add "%~n1.mp4"#video -raw %$2% -new "%~n1" 

Вывод этого упоминает правильный TrackID, но немедленно терпит неудачу. Есть ли лучший способ заставить MP4Box использовать правильный TrackID видео или запрашивать ввод пользователя после отображения идентификатора?

Спасибо.

0
Хорошо, теперь это терпит неудачу на обоих методах ... MurderOfPoes 5 лет назад 0

0 ответов на вопрос