2012-01-13 10 views
10

उत्पन्न कर रहा है I वीडियो mp4a264 का उपयोग करके कनवर्ट करने का प्रयास कर रहा हूं, लेकिन परिणाम वीडियो में ऑडियो/वीडियो सिंक हो गया है। ऑडियो ठीक लगता है लेकिन वीडियो धीमा लगता है और इसलिए ऑडियो के साथ सिंक हो जाता है।ffmpeg एक आउट-ऑफ-सिंक ऑडियो/वीडियो फ़ाइल

यहाँ है आदेश मैं चला रहा हूँ:

/opt/local/bin/ffmpeg -i complaint.flv -f mp4 -vcodec libx264 -acodec aac -copyts -strict experimental -fpre /opt/local/share/ffmpeg/libx264-lossless_slow.ffpreset -ab 44k -threads 0 -crf 23 complaint.mp4 

और उत्पादन:

Desktop /opt/local/bin/ffmpeg -i complaint.flv -f mp4 -vcodec libx264 -acodec aac -copyts -strict experimental -fpre /opt/local/share/ffmpeg/libx264-lossless_slow.ffpreset -ab 44k -threads 0 -crf 23 complaint.mp4 
ffmpeg version 0.7.8, Copyright (c) 2000-2011 the FFmpeg developers 
    built on Jan 12 2012 21:12:26 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3) 
    configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm 
    libavutil 50. 43. 0/50. 43. 0 
    libavcodec 52.123. 0/52.123. 0 
    libavformat 52.111. 0/52.111. 0 
    libavdevice 52. 5. 0/52. 5. 0 
    libavfilter 1. 80. 0/1. 80. 0 
    libswscale 0. 14. 1/0. 14. 1 
    libpostproc 51. 2. 0/51. 2. 0 
[flv @ 0x7fe57a04ac00] Estimating duration from bitrate, this may be inaccurate 
Input #0, flv, from 'complaint.flv': 
    Metadata: 
    duration  : 7 
    creationdate : Thu Jan 12 23:47:24 
    description  : Recorded using VideoRecording example. 
    Duration: 00:00:06.61, start: 0.000000, bitrate: N/A 
    Stream #0.0: Video: flv, yuv420p, 288x288, 1k tbr, 1k tbn, 1k tbc 
    Stream #0.1: Audio: nellymoser, 11025 Hz, mono, s16 
File 'complaint.mp4' already exists. Overwrite ? [y/N] y 
[buffer @ 0x7fe579c32cc0] w:288 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param: 
[libx264 @ 0x7fe57a044600] using cpu capabilities: none! 
[libx264 @ 0x7fe57a044600] profile High, level 4.2 
[libx264 @ 0x7fe57a044600] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x33 me=umh subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 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.41 aq=1:1.00 
Output #0, mp4, to 'complaint.mp4': 
    Metadata: 
    duration  : 7 
    creationdate : Thu Jan 12 23:47:24 
    description  : Recorded using VideoRecording example. 
    encoder   : Lavf52.111.0 
    Stream #0.0: Video: libx264, yuv420p, 288x288, q=0-69, 200 kb/s, 1k tbn, 1k tbc 
    Stream #0.1: Audio: aac, 11025 Hz, mono, s16, 44 kb/s 
Stream mapping: 
    Stream #0.0 -> #0.0 
    Stream #0.1 -> #0.1 
Press [q] to stop, [?] for help 
frame= 6557 fps=106 q=-1.0 Lsize=  685kB time=00:00:03.62 bitrate=1549.1kbits/s dup=6367 drop=0  
video:615kB audio:17kB global headers:0kB muxing overhead 8.361360% 
frame I:27 Avg QP:19.98 size: 8242 
[libx264 @ 0x7fe57a044600] frame P:6530 Avg QP:30.71 size: 62 
[libx264 @ 0x7fe57a044600] mb I I16..4: 11.1% 79.3% 9.6% 
[libx264 @ 0x7fe57a044600] mb P I16..4: 0.1% 0.2% 0.0% P16..4: 1.2% 0.2% 0.3% 0.0% 0.0% skip:98.0% 
[libx264 @ 0x7fe57a044600] 8x8 transform intra:77.8% inter:64.9% 
[libx264 @ 0x7fe57a044600] coded y,uvDC,uvAC intra: 75.3% 81.3% 33.3% inter: 0.5% 0.7% 0.1% 
[libx264 @ 0x7fe57a044600] i16 v,h,dc,p: 78% 9% 10% 3% 
[libx264 @ 0x7fe57a044600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 35% 11% 32% 3% 4% 5% 2% 5% 4% 
[libx264 @ 0x7fe57a044600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 56% 7% 9% 3% 4% 7% 3% 7% 3% 
[libx264 @ 0x7fe57a044600] i8c dc,h,v,p: 45% 15% 34% 6% 
[libx264 @ 0x7fe57a044600] Weighted P-Frames: Y:0.0% UV:0.0% 
[libx264 @ 0x7fe57a044600] ref P L0: 80.5% 9.5% 10.0% 
[libx264 @ 0x7fe57a044600] kb/s:767.20 

वहाँ कुछ मुझे यकीन है कि बनाने के लिए वीडियो और ऑडियो लाइन पूरी तरह से याद कर रहा हूँ है?

+0

तुम कोशिश 'मैं complaint.flv complaint.mp4 ffmpeg' हैं, तो है कि यह सिंक्रनाइज़ेशन से बाहर अब भी है? मूल फ़ाइल को वीएलसी में चलाने पर सिंक से बाहर है? – sashoalm

+0

यह मेरे लिए काम नहीं करता है, मुख्य रूप से कोडेक्स की वजह से जो FLV बनाने (एच 264 से अलग) पर उपयोग किए गए थे – marcelorocks

+0

आपके उत्तर से मैं समझ नहीं पा रहा हूं कि 'ffmpeg -i शिकायत.flv शिकायत.एमपी 4' उत्पादन आउटपुट है या नहीं सिंक से बाहर या नहीं। इस तरह आप किसी समस्या को डीबग करते हैं, आप इसे अलग करने का प्रयास करते हैं। मूल बस सिंक से बाहर है? यदि वीएलसी इस तरह से खेलता है, तो ऐसा कुछ भी नहीं है जो आप कर सकते हैं। या यह ffmpeg के साथ एक सामान्य समस्या है, या यह विशेष रूप से h264 कोडेक के साथ है? – sashoalm

उत्तर

14

जो लोग इसे आजमा रहे हैं, उनके लिए ऑडियो कोडक के लिए yuv420p का उपयोग करने के बजाय, तुरंत H264 में फ्लैश रिकॉर्ड करने के बेहतर था। उसने जादू की तरह काम किया। ध्वज जोड़ने -async 1 भी मदद की।

अद्यतन: ffmpeg प्रलेखन (http://ffmpeg.org/ffmpeg.html) से इस बिट की जाँच करें:

-async: ऑडियो सिंक विधि। टाइमस्टैम्प से मेल खाने के लिए ऑडियो स्ट्रीम को "खिंचाव/निचोड़ें" पैरामीटर प्रति सेकेंड अधिकतम नमूने है जिसके द्वारा ऑडियो बदल जाता है। -async 1 एक विशेष मामला है जहां ऑडियो स्ट्रीम की शुरुआत केवल बाद में सुधार के बिना ठीक हो जाती है। इस विकल्प को हटा दिया गया है। इसके बजाय एरेस्प्ल ऑडियो फ़िल्टर का उपयोग करें।

आप aresample फिल्टर के बारे में यहाँ पढ़ सकते हैं: http://ffmpeg.org/trac/ffmpeg/wiki/FilteringGuide

+3

"एच 264 में तुरंत, ऑडियो कोडेक के लिए yuv420p का उपयोग करने के बजाय।" ??? समझ में नहीं आता। yuv420p चित्र प्रारूप है, वीडियो कोडेक जैसे एच 264, न तो ऑडियो cedec। फिर सिंक पाने के लिए आपने क्या किया? – user1914692

+0

क्या यह समतुल्य है? 'Aresample = async = 1' – chovy