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

0

Atualização: eu estava usando uma versão mais antiga do ffmpeg e tendo problemas com ela.

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 o ffmpeg, então decidi usar o MP4Box e ele 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, tudo funcionará bem.

Mas, se eu arrastar o arquivo mkv para o arquivo de lote, ele falhará ao 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 pedir a entrada do usuário depois de exibir o ID?

Obrigado.

    
por MurderOfPoes 26.07.2018 / 01:02

0 respostas