Pregunta

Tengo una AVMutableComposition con los siguientes segmentos de pista:

video:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {600/600 = 1.000}}
    empty: Y, {{888/600 = 1.480}, {900/600 = 1.500}}
    empty: N, {{894/300 = 2.980}, {1040/600 = 1.733}}
audio:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {45056/44100 = 1.022}}
    empty: Y, {{66224/44100 = 1.502}, {65194/44100 = 1.478}}
    empty: N, {{894/300 = 2.980}, {77824/44100 = 1.765}}

El tiempo se expresa como CMTimeRange, la primera CMTime es la hora de inicio, el segundo es la duración. En otras palabras, hay dos trozos de audio + vídeo con un poco de espacio de relleno vacío antes y entre ellos.

El problema es que cuando la exportación de esta composición y reproducir el vídeo exportado, el segundo segmento de audio se reproduce demasiado pronto, como si el segundo segmento de audio relleno de vacío fue ignorada durante la exportación. Me sale el primer segmento de vídeo con audio correcto, entonces inmediatamente el segundo segmento de audio y más tarde el segundo segmento de vídeo sin audio.

¿Qué podría estar mal?

¿Fue útil?

Solución

El problema estaba en la exportación. Yo estaba usando el modo de paso a través de la exportación que simplemente copia los segmentos de pista en el archivo resultante. Creo que el tiempo simplemente se copian sellos, también, lo que provoca un desorden en la línea de tiempo de la película exportada. Ajuste del modo de exportación a algo más que el traspaso se soluciona el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top