¿Por qué mi mp4 (h.264) necesita mp4box todo el tiempo?

0

Cada vez que convierto un video en mp4 con códec h.264, no se reproduce inmediatamente en Windows o iPad. Funciona bien cuando convierto el video con mp4box . Yo uso el siguiente comando para convertir.

mp4box -hint video.mp4

Me gusta saber qué estoy agregando al video con mp4box.

¿Como funciona?

usuario45326
fuente

Respuestas:

3

Tenga en cuenta que mp4boxno codifica ningún video, solo se usa para volver a empaquetar el contenido existente. Supongo que ya tienes un video codificado y luego lo usas mp4boxpara agregar la hintopción. Si bien ese flujo de trabajo realmente no tiene sentido para mí al principio, permítame explicarle lo que hintsignifica:

La -hintopción probablemente se llame con el fin de introducir un llamado pista de indicaciones para el archivo de vídeo.

¿Qué es una pista de pista? Bueno, su archivo de video en sí es una serie de bits, nada más, y en algunas aplicaciones, esto es muy ineficiente. Tome el ejemplo de un servidor que transmite el video. Tiene que encapsular el video en paquetes que se envían a través de la red. Pero, ¿cómo sabe el servidor qué partes del video poner en qué paquete? Si el servidor no conoce la estructura del flujo de bits, no podrá empaquetarlo correctamente.

Aquí es donde entra en juego la pista de pistas. Se genera para permitir que un servidor de transmisión empaquete correctamente el video en paquetes RTP. Básicamente, una pista de este tipo dice "Ponga la parte XY del video en el paquete AB ".


Dicho todo esto, un verdadero h.264 no necesita tener una pista de pista para la transmisión, ya que h.264 tiene una capa de abstracción de red que proporciona un servidor de transmisión con toda la información necesaria para empaquetar el video. Las sugerencias solo son necesarias para los videos visuales MPEG-4 (por ejemplo, codificados con DivX o XviD).

Comprueba si tu codificador ya genera un mp4archivo válido , ¿cuál utilizas realmente?

slhck
fuente
// Gracias por tu información muy detallada. Yo uso el freno de mano.
user45326
@ user12077 Eso es interesante. Entonces, incluso si está utilizando la configuración adecuada para iPad, ¿el archivo generado por Handbrake no se abre?
slhck
@ user12077: si está transmitiendo este video, entonces esta información de sugerencias es importante, pero no creo que deba ser si solo se accede como un archivo local. ¿Cómo está accediendo exactamente al archivo para reproducirlo? Si lo está transmitiendo, ¿se reproduce bien si lo reproduce en la máquina local?
Espectro
@Spectre // perdón por el retraso en la respuesta; De hecho, estoy transmitiendo este archivo a través de la red.
user45326
1

¿Qué programa estás usando para crear / codificar el video h264 en el lugar? Puede ser que el codificador esté generando un archivo h264 sin formato, esta secuencia sin formato generalmente debe ponerse en un formato contenedor, como mkv o mp4, junto con la secuencia de audio, antes de poder reproducirse.

Verifique su codificador h264 para ver si coloca automáticamente el video codificado en un contenedor mp4, o si tiene un perfil / configuración específica para su dispositivo. si lo hace, pero aún no se reproduce, podría ser solo un error, en cuyo caso deberá seguir usando mp4box manualmente.

Espectro
fuente
// Estoy usando HandBrake.
user45326
Hmm, me acabo de dar cuenta de que puede haber leído mal tu pregunta, ¿dices que no "juega de inmediato", eso significa que no juega en absoluto, o simplemente tarda más de lo normal en comenzar a jugar?
Espectro
// se tarda más de lo normal en comenzar a jugar.
user45326