Saya telah membuat satu set screencasts menggunakan recordmydesktop di ubuntu 12.10. Outputnya adalah file ogv. Ketika saya menonton file ogv menggunakan pemutar film (totem) default, terlihat baik - audio dan video dalam sinkronisasi. Ketika ditranskode (oleh saya atau youtube) audio dan video tidak sinkron. Sepertinya saya melewati satu atau dua slide sambil menceritakan.
Memperbarui
Saya menduga masalahnya lebih tepat ditandai sebagai menjatuhkan duplikat frame selama transcoding. Mengkonversi video tempat mouse bergerak sepertinya berfungsi dengan baik. Tetapi ketika saya hanya berbicara selama slide, frame duplikat itu dijatuhkan.
Saya melihat ini tetapi ini bukan situasi saya (mencoba untuk pergi dari ogv -> apa pun) /superuser/436187/ffmpeg-convert-video-w-dropped-frames-out-of-sync
File AVI tampaknya menerjemahkan dengan benar! Saya menganggap ini akan menjadi petunjuk besar bagi seseorang. Saya masih ingin melacak masalah mendasarnya. Saya sedang menguji konversi video saya sebelumnya ke AVI tetapi ini membutuhkan waktu karena saya harus memeriksa setiap transisi.
Contohnya
Ini adalah file OGV asli dari gtk-recordmydesktop: http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ogv
Video dimulai dengan slide selama 10 detik, lalu naik menjadi 3 slide lebih banyak masing-masing. Setiap kali saya memajukan slide, saya juga mengetuk mikrofon (10s, 15s, 20s, 25s).
Berikut adalah beberapa konversi yang dilakukan (masing-masing menampilkan masalah waktu video sendiri):
http://dl.dropbox.com/u/64693533/sync_test/sync_test1.mp4
- ini menunjukkan slide pertama dalam bingkai pertama tetapi dengan cepat maju melewatinya
- ini dilakukan dengan menggunakan stock ffmpeg
http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ffmpeg-static.mp4
- yang ini cukup dekat - untuk beberapa alasan di usia 13-an itu memutuskan untuk maju
- ini dilakukan menggunakan build statis ffmpeg dari beberapa hari yang lalu
Ini dia di youtube - Anda dapat melihat bahwa pada usia 13-an ia bergerak lebih awal (dari slide 1 -> slide 2):
Ini bukti bahwa file OGV berfungsi dengan benar:
terjemahan ffmpeg
Menggunakan ffmpeg atau avconv saya sepertinya mendapatkan hasil yang sama seperti youtube (transisi tampaknya terjadi lebih awal tetapi tidak harus pada saat yang sama).
Berikut ini adalah perintah yang saya gunakan (dengan ffmpeg statis terbaru) dan keluaran:
$ ~ / ffmpeg / ffmpeg -i JSP.ogv JSP.mp4 ffmpeg versi N-50025-gb8bb661 Hak cipta (c) 2000-2013 pengembang FFmpeg dibangun pada 17 Feb 2013 05:23:03 dengan gcc 4.6 (Debian 4.6.3-1) konfigurasi: --prefix = / root / ffmpeg-static / 64bit --extra-cflags = '- I / root / ffmpeg-static / 64bit / sertakan -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-libvamelame --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 contoh lib kami 0.17.102 / 0.17.102 libpostproc 52. 2.100 / 52. 2.100 [ogg @ 0x34d4640] Beberapa fisbone untuk aliran yang sama tidak diterapkan. Perbarui versi FFmpeg Anda dengan yang terbaru dari Git. Jika masalah masih terjadi, itu berarti file Anda memiliki fitur yang belum diimplementasikan. [ogg @ 0x34d4640] Penguraian header gagal untuk aliran 0 [ogg @ 0x34d4640] File rusak, keyframe tidak ditandai dengan benar. Masukan # 0, ogg, dari 'JSP.ogv': Durasi: 00: 12: 49,67, mulai: 0,000000, bitrate: 224 kb / s Stream # 0: 0: Data: tidak ada Streaming # 0: 1: Video: theora, yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], 15 fps, 15 tbr, 15 tbn, 15 tbc Metadata: RECORDMYDESKTOP: 0.3.8.1 Streaming # 0: 2: Audio: vorbis, 22050 Hz, mono, fltp, 89 kb / s [libx264 @ 0x369c5e0] menggunakan SAR = 1/1 [libx264 @ 0x369c5e0] menggunakan kemampuan cpu: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX [libx264 @ 0x369c5e0] profil Tinggi, level 4.0 [libx264 @ 0x369c5e0] 264 - core 129 r2230 1cffe9f - H.264 / MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac = 1 ref = 3 deblock = 1: 0: 0 analisis = 0x3: 0x113 saya = 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 utas = 6 lookahead_threads = 1 sliced_threads = 0 nr = 0 decimate = 1 interlaced = 0 bluray_compat = 0 constrained_intra = 0 bframe = 3 b_pyramid = 2 b_padas = 0 bb; 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 Output # 0, mp4, ke 'JSP.mp4': Metadata: encoder: Lavf54.63.100 Streaming # 0: 0: Video: h264 ([33] [0] [0] [0] / 0x0021), yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], q = -1--1, 15360 tbn , 15 tbc Metadata: RECORDMYDESKTOP: 0.3.8.1 Streaming # 0: 1: Audio: aac ([64] [0] [0] [0] / 0x0040), 22050 Hz, mono, s16, 128 kb / s Pemetaan aliran: Streaming # 0: 1 -> # 0: 0 (theora -> libx264) Streaming # 0: 2 -> # 0: 1 (vorbis -> libvo_aacenc) Tekan [q] untuk berhenti, [?] Untuk bantuan [ogg @ 0x34d4640] File rusak, bingkai non-key tidak ditandai dengan benar. Pesan terakhir diulang 2 kali File rusak, non-keyframe tidak ditandai dengan benar. = 00: 00: 08.37 bitrate = 28.7kbits / s dup = 66 drop = 0 File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 00: 51.01 bitrate = 125.3kbits / s dup = 675 drop = 0 File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 00: 55,05 bitrate = 140.2kbits / s dup = 782 drop = 0 File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 00: 59,60 bitrate = 140,5 kbits / s dup = 836 drop = 0 [ogg @ 0x34d4640] File rusak, keyframe tidak ditandai dengan benar. File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 01: 08.00 bitrate = 143.0kbits / s dup = 900 drop = 0 File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 01: 11.86 bitrate = 141.6kbits / s dup = 910 drop = 0
... Diulang berkali-kali ...
File rusak, keyframe tidak ditandai dengan benar.waktu = 00: 12: 47.62 bitrate = 153.0kbits / s dup = 9087 drop = 0 frame = 11521 fps = 87 q = -1.0 Lsize = 14849kB waktu = 00: 12: 49.48 bitrate = 158.1kbits / s dup = 9087 drop = 0 video: 2401kB audio: 12024kB subtitle: 0 tajuk global: 0kB muxing overhead 2,938094% [libx264 @ 0x369c5e0] bingkai I: 49 Rata-rata QP: 16,05 ukuran: 29658 [libx264 @ 0x369c5e0] bingkai P: 2912 Rata-rata QP: 9,88 ukuran: 114 [libx264 @ 0x369c5e0] bingkai B: 8560 Rata-rata QP: 12,76 ukuran: 78 [libx264 @ 0x369c5e0] B-frame berturut-turut: 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% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% skip: 99.9% [libx264 @ 0x369c5e0] mb B I16..4: 0.0% 0.0% B16..8: 0.3% 0.0% langsung: 0.0% lewati: 99.7% L0: 65.3% L1: 34.6% BI: 0.1% [libx264 @ 0x369c5e0] 8x8 mengubah intra: 0,5% antar: 15,8% [libx264 @ 0x369c5e0] kode y, uvDC, uvAC intra: 6,4% 0,1% 0,1% antar: 0,0% 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% 5% 5% [libx264 @ 0x369c5e0] i8c dc, h, v, p: 100% 0% 0% 0% 0% [libx264 @ 0x369c5e0] P-Frame Tertimbang: Y: UV 0,0%: 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
Video masih bergerak lebih awal tetapi pada waktu yang berbeda. Kedengarannya seperti gtk-recordmydesktop menghasilkan "file rusak". Yang menyebalkan adalah bahwa OGV tidak bekerja sehingga sepertinya saya harus bisa membuat ini bekerja dengan beberapa set opsi.
Saya telah menemukan bahwa saya dapat membuat video dalam kdenlive dan tampaknya berfungsi di sana. Saya masih ingin tahu apa yang sedang terjadi. kdenlive melakukan pekerjaan yang jauh lebih baik, tetapi kadang-kadang masih maju lebih awal.
ffmpeg
biner yang disertakan .