Hice un conjunto de screencasts usando recordmydesktop en ubuntu 12.10. El resultado es un archivo ogv. Cuando veo el archivo ogv usando el reproductor de películas predeterminado (tótem), se ve bien: el audio y el video están sincronizados. Cuando se transcodifica (por mí o por YouTube), el audio y el video no están sincronizados. Parece que me salto una diapositiva o dos mientras narro.
Actualizar
Sospecho que el problema se caracteriza más adecuadamente por la caída de fotogramas duplicados durante la transcodificación. La conversión de video donde se mueve el mouse parece funcionar normalmente bien. Pero cuando solo estoy hablando durante una diapositiva, esos cuadros duplicados se descartan.
Vi esto pero no es mi situación (tratando de pasar de ogv -> cualquier cosa) /superuser/436187/ffmpeg-convert-video-w-dropped-frames-out-of-sync
¡Los archivos AVI parecen traducirse correctamente! Supongo que esto será una gran pista para alguien. Todavía me gustaría rastrear el problema subyacente. Estoy probando la conversión de mis videos anteriores a AVI, pero esto lleva un tiempo ya que tengo que verificar cada transición.
Ejemplos
Este es el archivo OGV original de gtk-recordmydesktop: http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ogv
El video comienza con una diapositiva de 10 segundos, luego avanza a 3 diapositivas más de 5 segundos cada una. Cada vez que avanzo las diapositivas, también toco el micrófono (10s, 15s, 20s, 25s).
Aquí hay algunas conversiones que se hicieron (cada una muestra sus propios problemas de sincronización de video):
http://dl.dropbox.com/u/64693533/sync_test/sync_test1.mp4
- Este muestra la primera diapositiva en el primer cuadro, pero avanza rápidamente.
- esto se hizo usando el ffmpeg de stock
http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ffmpeg-static.mp4
- este está bastante cerca, aunque por alguna razón a los 13 años decide avanzar
- Esto se hizo utilizando la compilación estática de ffmpeg de hace unos días.
Aquí está en youtube: puede ver que alrededor de los 13 segundos avanza temprano (de la diapositiva 1 -> diapositiva 2):
Aquí está la prueba de que el archivo OGV funciona correctamente:
ffmpeg traducción
Al usar ffmpeg o avconv, parece que obtengo resultados similares a los de YouTube (las transiciones parecen ocurrir temprano pero no necesariamente al mismo tiempo).
Aquí está el comando que uso (con una compilación estática reciente de ffmpeg) y la salida:
$ ~ / ffmpeg / ffmpeg -i JSP.ogv JSP.mp4 ffmpeg versión N-50025-gb8bb661 Copyright (c) 2000-2013 los desarrolladores de FFmpeg construido el 17 de febrero de 2013 05:23:03 con gcc 4.6 (Debian 4.6.3-1) configuración: --prefix = / root / ffmpeg-static / 64bit --extra-cflags = '- I / root / ffmpeg-static / 64bit / include -static' --extra-ldflags = '- L / root / ffmpeg- static / 64bit / lib -static '--extra-libs =' - lxml2 -lexpat -lfreetype '--enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable -zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-grey --enable-libass - -enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx libavutil 52. 17.101 / 52. 17.101 libavcodec 54. 91.103 / 54. 91.103 libavformat 54. 63.100 / 54. 63.100 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 38.100 / 3. 38.100 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 [ogg @ 0x34d4640] No se implementan múltiples fisbone para la misma secuencia. Actualice su versión de FFmpeg a la más nueva de Git. Si el problema persiste, significa que su archivo tiene una característica que no se ha implementado. [ogg @ 0x34d4640] Error al analizar el encabezado para la secuencia 0 [ogg @ 0x34d4640] Archivo roto, fotograma clave no marcado correctamente. Entrada # 0, ogg, de 'JSP.ogv': Duración: 00: 12: 49.67, inicio: 0.000000, velocidad de bits: 224 kb / s Secuencia # 0: 0: Datos: ninguno Stream # 0: 1: Video: theora, yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], 15 fps, 15 tbr, 15 tbn, 15 tbc Metadatos RECORDMYDESKTOP: 0.3.8.1 Secuencia # 0: 2: Audio: vorbis, 22050 Hz, mono, fltp, 89 kb / s [libx264 @ 0x369c5e0] usando SAR = 1/1 [libx264 @ 0x369c5e0] utilizando capacidades de CPU: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX Perfil [libx264 @ 0x369c5e0] Alto, nivel 4.0 [libx264 @ 0x369c5e0] 264 - núcleo 129 r2230 1cffe9f - Códec AVC H.264 / MPEG-4 - Copyleft 2003-2012 - http://www.videolan.org/x264.html - opciones: cabac = 1 ref = 3 deblock = 1: 0: 0 analizar = 0x3: 0x113 me = hex subme = 7 psy = 1 psy_rd = 1.00: 0.00 mixed_ref = 1 me_range = 16 chroma_me = 1 trellis = 1 8x8dct = 1 cqm = 0 deadzone = 21,11 fast_pskip = 1 chroma_qp_offset = -2 subprocesos = 6 lookahead_threads = 1 sliced_threads = 0 nr = 0 diezmar = 1 entrelazado = 0 bluray_compat = 0 constreñido_intra = 0 bframes = 3 b_pyramid = 2 b_adapt = 1 b_bias = 0 directo = 1 pesob = 1 open_gop = 0 weightp = 2 keyint = 250 keyint_min = 15 scenecut = 40 intra_refresh = 0 rc_lookahead = 40 rc = crf mbtree = 1 crf = 23.0 qcomp = 0.60 qpmin = 0 qpmax = 69 qpstep = 4 ip_ratio = 1.40 aq = 1: 1.00 Salida # 0, mp4, a 'JSP.mp4': Metadatos codificador: Lavf54.63.100 Stream # 0: 0: Video: h264 ([33] [0] [0] [0] / 0x0021), yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], q = -1--1, 15360 mil millones , 15 tbc Metadatos RECORDMYDESKTOP: 0.3.8.1 Stream # 0: 1: Audio: aac ([64] [0] [0] [0] / 0x0040), 22050 Hz, mono, s16, 128 kb / s Mapeo de flujo: Stream # 0: 1 -> # 0: 0 (theora -> libx264) Secuencia # 0: 2 -> # 0: 1 (vorbis -> libvo_aacenc) Presione [q] para detener, [?] Para obtener ayuda [ogg @ 0x34d4640] Archivo roto, sin fotograma clave no marcado correctamente. Último mensaje repetido 2 veces Archivo roto, sin fotograma clave no marcado correctamente. = 00: 00: 08.37 bitrate = 28.7kbits / s dup = 66 drop = 0 Archivo roto, el fotograma clave no está marcado correctamente.hora = 00: 00: 51.01 tasa de bits = 125.3kbits / s dup = 675 caída = 0 Archivo roto, el fotograma clave no está marcado correctamente.hora = 00: 00: 55.05 velocidad de bits = 140.2kbits / s dup = 782 caída = 0 Archivo roto, fotograma clave no marcado correctamente.hora = 00: 00: 59.60 bitrate = 140.5kbits / s dup = 836 drop = 0 [ogg @ 0x34d4640] Archivo roto, fotograma clave no marcado correctamente. Archivo roto, fotograma clave no marcado correctamente. Tiempo = 00: 01: 08.00 velocidad de bits = 143.0kbits / s dup = 900 drop = 0 Archivo roto, el fotograma clave no está marcado correctamente. Tiempo = 00: 01: 11.86 tasa de bits = 141.6kbits / s dup = 910 caída = 0
... repetido muchas veces ...
Archivo roto, fotograma clave no marcado correctamente.hora = 00: 12: 47.62 bitrate = 153.0kbits / s dup = 9087 drop = 0 marco = 11521 fps = 87 q = -1.0 Tamaño de L = 14849kB tiempo = 00: 12: 49.48 bitrate = 158.1kbits / s dup = 9087 drop = 0 video: 2401kB audio: 12024kB subtítulo: 0 encabezados globales: 0kB sobrecarga de muxing 2.938094% [libx264 @ 0x369c5e0] fotograma I: 49 Promedio QP: 16.05 tamaño: 29658 [libx264 @ 0x369c5e0] cuadro P: 2912 Promedio QP: 9.88 tamaño: 114 [libx264 @ 0x369c5e0] fotograma B: 8560 Promedio QP: 12.76 tamaño: 78 [libx264 @ 0x369c5e0] tramas B consecutivas: 0.9% 0.1% 0.2% 98.9% [libx264 @ 0x369c5e0] mb I I16..4: 90.8% 0.4% 8.8% [libx264 @ 0x369c5e0] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% omitir: 99.9% [libx264 @ 0x369c5e0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% directo: 0.0% omisión: 99.7% L0: 65.3% L1: 34.6% BI: 0.1% [libx264 @ 0x369c5e0] transformación 8x8 intra: 0.5% inter: 15.8% [libx264 @ 0x369c5e0] codificado y, uvDC, uvAC intra: 6.4% 0.1% 0.1% inter: 0.0% 0.0% 0.0% [libx264 @ 0x369c5e0] i16 v, h, dc, p: 94% 4% 2% 0% [libx264 @ 0x369c5e0] i8 v, h, dc, ddl, ddr, vr, hd, vl, hu: 19% 22% 44% 1% 2% 2% 3% 1% 6% [libx264 @ 0x369c5e0] i4 v, h, dc, ddl, ddr, vr, hd, vl, hu: 35% 17% 19% 4% 5% 5% 5% 5% 5% [libx264 @ 0x369c5e0] i8c dc, h, v, p: 100% 0% 0% 0% [libx264 @ 0x369c5e0] P-Frames ponderados: Y: 0.0% UV: 0.0% [libx264 @ 0x369c5e0] ref P L0: 82.5% 1.4% 11.9% 4.3% [libx264 @ 0x369c5e0] ref B L0: 47.2% 52.4% 0.4% [libx264 @ 0x369c5e0] ref B L1: 99,2% 0,8% [libx264 @ 0x369c5e0] kb / s: 25.60
El video todavía avanza temprano pero en diferentes momentos. Parece que gtk-recordmydesktop está generando un "archivo roto". Lo que es molesto es que el OGV funciona, por lo que parece que debería poder hacer que esto funcione con algún conjunto de opciones.
He descubierto que puedo reproducir el video en kdenlive y parece que funciona allí. Todavía me gustaría saber qué está pasando. kdenlive hace un trabajo mucho mejor, pero a veces todavía avanza temprano.
ffmpeg
binario incluido .