2012-05-17 10 views
5

vídeos Fuente: http://www.artworknotavailable.com/tmp/ffmpegtest¿Por qué ffmpeg informa diferentes duraciones?

QuickTime Pro 7.7.1 Inspector (Win 7) informa lo siguiente para el archivo 2398.mov

4.19MB
H.264
película FPS: 23.98
Velocidad de datos: 2,35 Mbits/seg
Duración 14:97

ffmpeg informa de lo siguiente (véase la completa información de la versión ffmpeg en la parte inferior de la post)

ffmpeg -i 2398.mov

Parece corriente de frecuencia de imagen 1 codec difiere de la velocidad de fotogramas contenedor: 47.952,00 (47952/1) ->> 23,98 (2997/125)
entrada # 0, MOV, MP4, M4A, 3GP, 3G2, mj2, de '2398.mov':
metadatos:
major_brand: qt

menor _VERSION: 537199360
compatible_brands: qt
Duración: 00: 00: 15.97, empezar: 0.-963005, tasa de bits: 2210 kb/s
Corriente # 0.0 (eng): Audio: aac, 48000 Hz, equipo de música, s16 , 152 kb/s
Secuencia # 0.1 (eng): video: h264, yuv420p, 848x480, 2060 kb/s, 23,98 fps, 23,98 TBR, 23976 TBN, 47952 tbc

Una segunda ya de lo que informa Quicktime.

Como experimento Exporté este archivo de QuickTime Pro utilizando los siguientes parámetros: Tasa de

marco: actual
Key Frames: Cada 24 fotogramas
reordenación de tramas En
Calidad: Alta
Codificación Mejor
Velocidad de datos: Automático
Optimizado para descarga
Archivo de salida: qtime-export-2398.mov

de QuickTime informa:

5,62 MB
H.264
película FPS: 23.98
Velocidad de datos: 3.15 Mbits/seg
Duración 14:97

ffmpeg ahora Informes:

ffmpeg -i qtime-export-2398.mov

Parece corriente de frecuencia de imagen 1 codec difiere de contenedor velocidad de fotogramas: 1200.00 (1200/1) -> 23.98 (24000/1001)
Entrada # 0, mov, mp4, m4a, 3gp, 3g2, mj2, desde 'qtime-export-2398.mov':
Metadatos:
major_brand: qt
minor_version: 537199360
compatible_brands: qt
Duración: 00: 00: 14,96, inicio: 0,000000, tasa de bits: 3153 kb/s
Corriente # 0.0 (eng): Audio: pcm_s16le, 44100 Hz, 2 canales, s16, 1411 kb/s
Secuencia # 0.1 (eng): video: h264, yuv420p, 678x384, 1738 kb/s, 23,98 fps, 23,98 TBR, 600 TBN, 1200 tbc

ffmpeg de informe sobre la duración fue de 15.97 a 14.96 (Puedo vivir con .1)

¿Se calcula esta duración a partir de la tasa de bits?

Necesito informar con precisión la duración de los videos cargados, así como convertirlos a FLV. ¿Puede alguien decirme qué está pasando aquí y cómo podría solucionar esto?

ffmpeg información a continuación. Lo intenté en 2 instalaciones/versiones completamente diferentes de ffmpeg. Mismo resultado.

FFmpeg versión 0.6.5, Derechos de autor (c) 2000-2010 desarrolladores de FFmpeg la construido el 29 ene 2012 23:55:02 con gcc 4.1.2 20080704 (Red Hat 4.1.2-51) de configuración : --prefix =/usr --libdir =/usr/lib64 --shlibdir =/usr/lib64 --mandir =/usr/share/man --incdir =/usr/include --disable-avisynth --extra- cflags = '- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = generic -fPIC' --enable-avfilter - -enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau - -enable-version3 --enable-x11grab libavutil 50.15. 1/50.15. 1 libavcodec 52.72. 2/52.72. 2 libavformat 52.64. 2/52.64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1.19. 0 libswscale 0.11. 0/0.11. 0 libpostproc 51. 2. 0/51. 2. 0 FFmpeg 0.6.5 libavutil 50.15. 1/50.15. 1 libavcodec 52.72. 2/52.72. 2 libavformat 52.64. 2/52.64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1.19. 0 libswscale 0.11. 0/0.11. 0 libpostproc 51. 2. 0/51. 2. 0

+0

Acaba de probarse con algunas variaciones más en la exportación de Quicktime. Parece que si solo selecciona cualquier tasa de fotogramas o bitrate para exportar, ffmpeg aún tiene muchas más posibilidades de informar una duración más precisa. ¿Quicktime está "arreglando" algo? ¿El contenedor? – kenitech

Respuesta

3

yo sólo tenía un aspecto en el primer archivo y aquí es por eso que informan de una duración diferente.

Quicktime está recopilando el valor de duración del "encabezado de la película". Los valores aquí son 8981/600 = 14.97 segundos.

FFmpeg está recopilando el valor de duración del "encabezado multimedia" que es 383000/23976 = 15,97 segundos para el video y 719872/48000 = 15,00 para el audio.

Editar: ... y para también responder a tu otra pregunta: ¿Alguien puede decirme cómo puedo evitar esto? Imagino que está usando ffmpeg para convertir los archivos a .FLV? Si es así, me quedaría con lo que reporta ffmpeg.

+0

Gracias por la información. ¿Cuál es la mejor manera de examinar el encabezado de la película de un archivo QT? – kenitech

+0

También estoy descubriendo que si uso el parámetro '-ss' y aplico el tiempo de inicio negativo reportado por ffmpeg mi archivo está más cerca de lo que creo que es la duración correcta, más cualquier audio que haya estado fuera de sincronización parece ser resuelto. Por ejemplo: ffmpeg informa de vídeo input.mov inicio: 0.-963005 Duración: 00: 00: 15.97 ffmpeg -i input.mov -ar 22050 65536 -AB -s 320x240 -b 524288-R12 - ss 00: 00: 00.963005 output.flv resultado: Duración: 00: 00: 15.00 lo siento, el cuadro de comentarios stackoverflow me está volviendo loco. – kenitech

+0

No estoy seguro de cuál es el mejor método. Utilizo una biblioteca patentada personalizada que he creado desde cero. En cuanto al problema de sincronización, también podrías echarle un vistazo al parámetro -async y ver si eso ayuda. Creo que la duración informada de ffmpeg puede ser correcta para este archivo. Si coloca el archivo en una línea de tiempo que no se basa en componentes de Quicktime, como Adobe Premiere Pro, la duración informada es de 15 segundos y 23 fotogramas. – BlueVoodoo

1

FFmpeg muestra "Duración: 00: 00: 14.96" aquí, por favor, comprenda que su versión de FFmpeg es antigua (y tiene muchos errores conocidos y regresiones), consulte http://ffmpeg.org/download.html para obtener información sobre cómo obtener git head actual, que siempre es recomendado

+0

Supongo que probaste el segundo archivo y no el primero? – BlueVoodoo

+0

Gracias por la información cehoyos. Desafortunadamente, al igual que mucha gente, la actualización no es tan simple como uno podría esperar con la infraestructura actual. La versión actual que tenemos en producción ni siquiera tiene un número de versión. Los ejemplos que estoy usando para probar aquí son de una cuenta personal de alojamiento compartido que tengo a través de site5.com. – kenitech

Cuestiones relacionadas