Questão MP4Box: Como adicionar automaticamente o TrackID de vídeo ao arquivo de lote?


Atualizar: Eu estava usando uma versão mais antiga do ffmpeg e tendo problemas com isso.

A atualização resolveu meu problema e não preciso mais usar o MP4Box para extrair a trilha de vídeo correta.

Agora estou curioso para saber se é possível que o MP4Box use automaticamente o TrackID de vídeo depois de detectá-lo.


Eu estava tendo problemas para extrair o arquivo raw h264 de um mkv com ffmpeg, então eu decidi usar o MP4Box e funcionou bem.

Então eu fiz o seguinte arquivo em lote para extrair os arquivos que eu preciso:

@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

Se eu digitar o nome do arquivo em lote e o arquivo mkv em uma linha cmd, ele funcionará bem.

Mas se eu arrastar o arquivo mkv para o arquivo de lote, ele falhará em substituir% $ 2% pelo vídeo TrackID.

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

A saída deste menciona o TrackID correto, mas falha imediatamente. Existe uma maneira melhor de fazer o MP4Box usar o TrackID de vídeo correto ou solicitar a entrada do usuário após exibir o ID?

Obrigado.


0


origem


Bem, agora está falhando em ambos os métodos ... - MurderOfPoes


Respostas: