Pregunta MP4Box: ¿Cómo agregar automáticamente TrackID de video al archivo por lotes?


Actualizar: Estaba usando una versión anterior de ffmpeg y tengo problemas con ella.

La actualización resolvió mi problema y ya no necesito usar MP4Box para extraer la pista de video correcta.

Ahora solo tengo curiosidad si es posible que MP4Box use automáticamente el video TrackID después de que lo detecta.


Estaba teniendo problemas para extraer el archivo h264 en bruto de un mkv con ffmpeg, así que decidí usar MP4Box y funcionó bien.

Así que hice el siguiente archivo por lotes para extraer los archivos que necesito:

@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

Si escribo el nombre del archivo por lotes y el archivo mkv en una línea de cmd, funciona bien.

Pero si arrastro el archivo mkv en el archivo por lotes, falla al reemplazar% $ 2% con el video TrackID.

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

El resultado de esto menciona el TrackID correcto pero falla inmediatamente. ¿Hay alguna manera mejor de hacer que MP4Box use el video TrackID correcto, o solicitar la entrada del usuario después de mostrar la identificación?

Gracias.


0


origen


Bueno, ahora está fallando en ambos métodos ... - MurderOfPoes


Respuestas: