ओजीवी प्रारूप मेरे कंप्यूटर पर ठीक से खेलता है लेकिन ट्रांसकोडिंग ड्रॉप्स (डुप्लिकेट?) फ़्रेम


11

मैंने ubuntu 12.10 पर recordmydesktop का उपयोग करते हुए स्क्रेंकास्ट का एक सेट बनाया है। आउटपुट एक ओग्व फाइल है। जब मैं डिफ़ॉल्ट मूवी प्लेयर (कुलदेवता) का उपयोग कर ओवीवी फाइल को देखता हूं तो यह ठीक लगता है - ऑडियो और वीडियो सिंक में हैं। जब इसे ट्रांसकोड किया जाता है (मेरे या यूट्यूब द्वारा) तो ऑडियो और वीडियो सिंक से बाहर हो जाते हैं। ऐसा लगता है कि मैं कथा के दौरान एक या दो स्लाइड के माध्यम से छोड़ता हूं।

अपडेट करें

मुझे संदेह है कि समस्या अधिक अच्छी तरह से ट्रांसकोडिंग के दौरान डुप्लिकेट फ़्रेमों को छोड़ने की विशेषता है। परिवर्तित वीडियो जहाँ माउस घूम रहा है, सामान्य रूप से ठीक काम करता है। लेकिन जब मैं एक स्लाइड के दौरान बात कर रहा हूं तो उन डुप्लिकेट फ़्रेमों को गिरा दिया जाता है।

मैंने इसे देखा, लेकिन यह मेरी स्थिति नहीं है (ogv से जाने की कोशिश कर रहा है -> कुछ भी) /superuser/436187/ffmpeg-convert-video-w-dropped-frames-out-of-sync

AVI फ़ाइलों को सही ढंग से अनुवाद करने के लिए लगता है! मुझे लगता है कि यह किसी के लिए एक बड़ा संकेत होगा। मैं अभी भी अंतर्निहित समस्या को ट्रैक करना चाहूंगा। मैं अपने पिछले वीडियो के एवीआई में रूपांतरण का परीक्षण कर रहा हूं, लेकिन मुझे प्रत्येक संक्रमण की जांच करने में थोड़ा समय लगता है।

उदाहरण

यह gtk-recordmydesktop से मूल OGV फ़ाइल है: http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ogv

वीडियो 10s के लिए एक स्लाइड के साथ शुरू होता है, फिर 3 और स्लाइड 5s प्रत्येक को आगे बढ़ाता है। हर बार जब मैं स्लाइड को आगे बढ़ाता हूं तो मैं माइक्रोफोन को भी टैप करता हूं (10s, 15s, 20s, 25s)।

यहां कुछ रूपांतरण किए गए हैं (प्रत्येक प्रदर्शित करता है यह स्वयं वीडियो समय समस्याएँ हैं):

http://dl.dropbox.com/u/64693533/sync_test/sync_test1.mp4

  • यह पहले फ्रेम में पहली स्लाइड दिखाता है लेकिन जल्दी से इसे आगे बढ़ाता है
  • यह स्टॉक ffmpeg का उपयोग करके किया गया था

http://dl.dropbox.com/u/64693533/sync_test/sync_test1.ffmpeg-static.mp4

  • यह एक बहुत करीब है - 13 पर किसी कारण के लिए हालांकि यह अग्रिम करने का फैसला करता है
  • यह कुछ दिनों पहले से ffmpeg के स्थिर निर्माण का उपयोग करके किया गया था

यहां यह youtube पर है - आप देख सकते हैं कि लगभग 13s पर यह जल्दी (स्लाइड 1 -> स्लाइड 2 से) आगे बढ़ता है:

यहाँ सबूत है OGV फ़ाइल सही ढंग से काम करती है:

ffmpeg अनुवाद

Ffmpeg या avconv के उपयोग से मुझे समान परिणाम मिलते हैं जैसे कि youtube (संक्रमण जल्दी होते हैं लेकिन जरूरी नहीं कि उसी समय दिखाई देते हों)।

यहाँ मैं (हाल ही में स्थिर ffmpeg के निर्माण के साथ) का उपयोग करें और उत्पादन आदेश है:

$ ~ / ffmpeg / ffmpeg -i JSP.ogv JSP.mp4
Ffmpeg संस्करण N-50025-gb8bb661 कॉपीराइट (c) 2000-2013 FFmpeg डेवलपर्स
  17 फरवरी 2013 को 05:23:03 gcc 4.6 के साथ बनाया गया (डेबियन 4.6.3-1)
  विन्यास: --prefix = / root / ffmpeg-static / 64bit --extra-cflags = '- I / root / ffmpeg-static / 64bit / शामिल -static' --extra-ldflags = - L / root / ffmpeg- स्टेटिक / 64 बिट / लिवास्टिक -स्टैटिक '- टेक्स्ट-लिबास =' - lxml2 -lexpat -lfreetype '--enable-static -disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable -ज़्लीब --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --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] एक ही स्ट्रीम के लिए एकाधिक फ़िसबोन कार्यान्वित नहीं किए जाते हैं। अपने FFmpeg संस्करण को Git से सबसे नए में अपडेट करें। यदि समस्या अभी भी होती है, तो इसका मतलब है कि आपकी फ़ाइल में एक सुविधा है जिसे लागू नहीं किया गया है।
[ogg @ 0x34d4640] हेडर पार्सिंग स्ट्रीम 0 के लिए विफल रहा
[ogg @ 0x34d4640] टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं।
इनपुट # 0, ogg, 'JSP.ogv' से:
  अवधि: 00: 12: 49.67, शुरू: 0.000000, बिटरेट: 224 केबी / एस
    स्ट्रीम # 0: 0: डेटा: कोई नहीं
    स्ट्रीम # 0: 1: वीडियो: theora, yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], 15 fps, 15 tbr, 15 tbn, 15 tbc
    मेटाडाटा:
      RECORDMYDESKTOP: 0.3.8.1
    स्ट्रीम # 0: 2: ऑडियो: vorbis, 22050 हर्ट्ज, मोनो, fltp, 89 kb / s
SAR = 1/1 का उपयोग करते हुए [libx264 @ 0x369c5e0]
[libx264 @ 0x369c5e0] cpu क्षमताओं का उपयोग करते हुए: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x369c5e0] प्रोफ़ाइल उच्च, स्तर 4.0
[libx264 @ 0x369c5e0] 264 - कोर 129 r2230 1cffe9f - H.264 / MPEG-4 AVC कोडक - Copyleft 2003-2012 - http://www.videolan.org/x2n.html - विकल्प: cabac = 1 Ref = 3 डीबॉक। = 1: 0: 0 विश्लेषण = 0x3: 0x113 me = hex subme = 7 psy = 1 psy_rd = 1.00: 0.00 मिश्रित_ref = 1 me_range = 16 chroma_me = 1 trellis - 1 8x8dct = 1 cqm = 0 deadzone = 21,11 fast_pskip = 1 क्रोमा_qp_offset = -2 थ्रेड = 6 लुकहेड_थ्रेड्स = 1 स्लाइस_थ्रेड्स = 0 एनआर = 0 अंतरंग = 1 इंटरसेप्टेड = 0 धुंधला_कोम्पैट = 0 विवश_इंतरा = बंफ्स = 3 बी_पाइरीमीटर = 2 बी_एडपेट = 1 बायबिस = 0 डायरेक्ट = 1 वेट = 1 वेट = 1 डायरेक्ट = भारोत्तोलन = २ कीनट = २५० कींट_मिन = १५ दर्शनीय = ४० इंट्रा_रेफ्रेश = ० rc_lookahead = ४० आरसी = crf mbtree = १ crf = २३.० क्यूएमपी = ०.६० क्यूमिन = ० क्यूपैक्स = ६ ९ क्यूस्टेप = ४ आईपीआर अनुपात = १.४० इक =
आउटपुट # 0, mp4, 'JSP.mp4' के लिए:
  मेटाडाटा:
    एनकोडर: Lavf54.63.100
    स्ट्रीम # 0: 0: वीडियो: h264 ([33] [0] [0] [0] / 0x0021), yuv420p, 1600x880 [SAR 1: 1 DAR 20:11], q = -1--1, 15360 tbn , 15 टी.बी.सी.
    मेटाडाटा:
      RECORDMYDESKTOP: 0.3.8.1
    स्ट्रीम # 0: 1: ऑडियो: aac ([64] [0] [0] [0] / 0x0040), 22050 हर्ट्ज, मोनो, s16, 128 kb / s
स्ट्रीम मैपिंग:
  स्ट्रीम # 0: 1 -> # 0: 0 (aora -> libx264)
  स्ट्रीम # 0: 2 -> # 0: 1 (vorbis -> libvo_aacenc)
मदद के लिए [क्ष] को रोकने के लिए, [?] दबाएं
[ogg @ 0x34d4640] टूटी हुई फ़ाइल, नॉन-कीफ़्रेम सही ढंग से चिह्नित नहीं।
    अंतिम संदेश 2 बार दोहराया गया
टूटी हुई फ़ाइल, गैर-कीफ़्रेम सही तरीके से चिह्नित नहीं। = 00: 00: 08.37 बिटरेट = 28.7kbits / s डुप = 66 ड्रॉप = 0    
टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 00: 51.01 बिटरेट = 125.3kbits / s डुप = 675 ड्रॉप = 0    
टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 00: 55.05 बिटरेट = 140.2kbits / s डुबकी = 782% = 0    
टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 00: 59.60 बिटरेट = 140.5kbits / s डुप = 836% = 0    
[ogg @ 0x34d4640] टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं।
टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 01: 08.00 बिटरेट = 143.0kbits / s डुबकी = 1 ड्रॉप: 0    
टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 01: 11.86 बिटरेट = 141.6kbits / s डुप = 910 ड्रॉप = 0    

... कई बार दोहराया ...

टूटी हुई फ़ाइल, कीफ़्रेम सही ढंग से चिह्नित नहीं। समय = 00: 12: 47.62 बिटरेट = 153.0kbits / s डुप = 9087 ड्रॉप = 0    
फ्रेम = ११५२१ एफपीएस = = = क्यू = -१.० लेसीज = १४k४ ९केबी समय = ००: १२: ४ ९ .४ 158 बिटरेट = १५ /.१kbit / s डुप = ९ ० drop ड्रॉप = ०    
वीडियो: 2401kB ऑडियो: 12024kB उपशीर्षक: 0 वैश्विक हेडर: 0kB ओवरहेडिंग 2.93.294%
[libx264 @ 0x369c5e0] फ्रेम I: 49 औसत QP: 16.05 आकार: 29658
[libx264 @ 0x369c5e0] फ़्रेम P: 2912 औसत QP: 9.88 आकार: 114
[libx264 @ 0x369c5e0] फ़्रेम B: 8560 औसत QP: 12.76 आकार 78
[libx264 @ 0x369c5e0] लगातार B- फ्रेम: 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% 0.0% छोड़ें: 99.9%
[libx264 @ 0x369c5e0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% प्रत्यक्ष: 0.0% छोड़ें: 99.7% L0: 65.3% L1: 34.6% BI: 0.1%
[libx264 @ 0x369c5e0] 8x8 परिवर्तन इंट्रा: 0.5% अंतर: 15.8%
[libx264 @ 0x369c5e0] कोडित y, uvDC, uvAC इंट्रा: 6.4% 0.1% 0.1% अंतर: 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% 3% सभी% 6% 6%
[libx264 @ 0x369c5e0] i4 v, h, dc, ddl, ddr, vr, hd, vl, hu: 35% 17% 19% 19% 4% 5% 5% 5% 5% 5% 5%
[libx264 @ 0x369c5e0] i8c dc, h, v, p: 100% 0% 0% 0% 0%
[libx264 @ 0x369c5e0] भारित P- फ्रेम्स: 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

वीडियो अभी भी जल्दी लेकिन अलग-अलग समय पर आगे बढ़ता है। ऐसा लगता है कि gtk-recordmydesktop "टूटी हुई फ़ाइल" उत्पन्न कर रहा है। क्या कष्टप्रद है कि ओजीवी काम करता है इसलिए ऐसा लगता है कि मुझे कुछ विकल्पों के साथ यह काम करने में सक्षम होना चाहिए।

मैंने पाया है कि मैं वीडियो को kdenlive में रेंडर कर सकता हूं और लगता है कि यह वहां काम कर रहा है। मैं अभी भी जानना चाहूंगा कि क्या हो रहा है। kdenlive बहुत बेहतर काम करता है, लेकिन यह अभी भी कभी-कभी जल्दी आगे बढ़ता है।


2
कृपया अपना ffmpeg कमांड और परिणामस्वरूप पूर्ण कंसोल आउटपुट दिखाएं।
ललगन १५'१३ को

अच्छा विचार @LordNeckbeard मैंने कमांड और आउटपुट जोड़ा। मुझे एक त्रुटि / चेतावनी दिखाई देती है: max_analyze_duration पहुंच गया है।
आमिर टी

अगर आप ffmpeg के हालिया स्थिर निर्माण का उपयोग करते हैं तो क्या यह समस्या अभी भी होती है ? यह किसी भी संभावित बग को नियंत्रित करेगा जिसे आप पहले से ही ffmpeg के नए संस्करण के साथ तय कर रहे हैं। कोई जरूरत नहीं है या कुछ भी स्थापित करने के लिए। बस डाउनलोड करें, संग्रह को निकालें, और फिर शामिल ffmpegबाइनरी को निष्पादित करें ।
ललगन

क्या आप एक नमूना इनपुट फ़ाइल प्रदान कर सकते हैं जिसे समस्या के साथ पुन: पेश किया जा सकता है?
ललगन

अच्छा विचार है, मैं एक छोटे से कोड़ा हूँ और इसे आज रात के बाद पोस्ट करेंगे।
आमिर टी

जवाबों:


4

OGV में कनवर्ट क्यों करें जब आपका अंतिम अपलोड youtube के लिए हो रहा है, तो मैं गलत हो सकता हूं, लेकिन आप x264 वीडियो कोडेक को AAC ऑडियो के साथ भी लिनक्स में बदल सकते हैं और अपलोड कर सकते हैं कि यह मानते हुए कि वे वैसे भी अपलोड करना पसंद करते हैं। क्या आपने OGV फ़ाइल के बजाय h264 बनाने और YouTube पर अपलोड करने का प्रयास किया है और यह देखने के लिए कि क्या यह समस्या थी। क्योंकि मैं शर्त लगाता हूं कि अगर वह इसे हल करता है, तो आप जानते हैं कि यह OGV के साथ youtube पर अपलोड होने वाला एक मुद्दा था, और यदि यह इसे हल नहीं करता है, तो यह youtube की व्याख्या या कुछ समान के साथ एक फ्रेम-दर मुद्दा हो सकता है।

अतीत में YouTube पर अपलोड की गई OGV फ़ाइलों के साथ बहुत सारे मुद्दे हैं। मैं कल्पना नहीं कर सकता कि यह इस बिंदु पर भी 100% तय है।

http://support.google.com/youtube/bin/answer.py?hl=en&answer=1722171

संपादित करें: यह भी देखा कि आपका मूल फुटेज 15fps पर है ... यह बहुत अच्छी तरह से मुद्दे का स्रोत हो सकता है

संपादित करें 2: मुझे लग रहा था कि इस सवाल को थोड़ा बहुत गलत किया है ... क्योंकि आप एक वीडियो फ़ाइल के साथ शुरू कर रहे हैं जो कि OGV है, और मैंने देखा कि आप MP4 करने जा रहे हैं ... इससे चीजें थोड़ी बदल जाती हैं। .लेकिन मुझे लगता है कि यह 15fps और 22050 हर्ट्ज ऑडियो के साथ कुछ करने वाला है ... मुझे पता है कि नमूना दर का ऑडियो को सिंक्रनाइज़ करने से कोई लेना-देना नहीं है, लेकिन अनुभव से गैर मानक फ्रेम-रेट और ऑडियो सैंपलरेट का उपयोग करते समय, मैं बहती देखना पसंद कर रहा हूं ... इनको सिंक करना मुश्किल हो सकता है जबकि सस्ते वीडियो एडिटर के साथ शुरुआती रिकॉर्डिंग के बाद इन्हें एडिट नहीं किया जा सकता ...

जबकि सॉफ्टवेयर बहती ऑडियो के बारे में बेहतर हो गया है, यह अभी भी एक आम समस्या है जब असामान्य फ्रेमरेट्स और सैंपलरेट्स का उपयोग किया जाता है क्योंकि कीफ्रेमड सिंक पॉइंट्स मानक नहीं हैं और कुंजी फ्रेम आदि को गोल कर सकते हैं ...

आप यह देखते हैं कि यह "टूटी हुई फ़ाइल, कीफ्रेम को सही तरीके से चिह्नित नहीं किया गया है।" यह है कि यह क्या बात है ...

आपके लिए मेरी सलाह यह होगी कि आप इसे जितना संभव हो सके, एक वीडियो एडिटर में ले जाएं और इसे काटें और ऑडियो को काटकर इसे जिस तरह से आप चाहते हैं, उससे मिलाएं। दुर्भाग्य से कभी-कभी यह कैसे तय होता है ...

सॉफ्टवेयर आधारित ट्रांसकोडर्स हमेशा काम नहीं करते हैं, जैसा कि उन्हें करना चाहिए ... घबराहट क्यों एक प्रोटॉब्स सेटअप और / या एक शौकीन चावला हार्डवेयर के साथ सिंक क्षमताओं और निरंतर फ्रेम-दर आदि को सुनिश्चित करने के लिए आएगा ...

एक और चीज जो आप कोशिश कर सकते हैं वह है फुटेज को एक मानक फ्रैमरेट में परिवर्तित करना, और ऑडियो को फिर से मैरि करने की कोशिश करना ... जैसा कि मुझे पूरा यकीन है कि यह वीडियो बहती है ... शायद कभी इतना धीमा और फिर तेजी से अंत या इसके विपरीत।

संपादित करें: मैं इस ffmpeg कमांड का उपयोग करके मूल में सिंक करने के लिए वीडियो प्राप्त करने में सक्षम था ... इसे दर क्लॉज की आवश्यकता हो सकती है जो कि मुझे संदेह है

ffmpeg -i sync_test1.ogv -strict experimental -pix_fmt yuv420p -r 15 -vcodec h264 -acodec aac sync_test1.mp4


मूल फ़ाइल ओगोव कंटेनर में थियोरा वीडियो और वोरबिस ऑडियो है। जहाँ तक मुझे पता है, इस प्रारूप में आमिर टी पुनः एनकोडिंग नहीं है, लेकिन जब वह मूल को फिर से एनकोड करने का प्रयास करता है तो एफएफएमपीपी या यूट्यूब सिंक समस्या प्रकट होती है।
1

इनपुट प्रारूप ओगव है जो कि gtk-recordmydesktop आउटपुट है। मैं ogv (flv, आदि) के अलावा कुछ भी पाने की कोशिश कर रहा हूं।
आमिर टी

मेरा अद्यतन उत्तर पढ़ें ... मुझे लगता है कि यह एफपीएस का एक मुद्दा है
क्रिस जेम्स चम्पू

1
जोड़ना -r 15इसे छोड़ने के समान है क्योंकि ffmpeg डिफ़ॉल्ट रूप से इनपुट फ्रेम दर को इनहेरिट करेगा, और परिणामस्वरूप आउटपुट फाइल्स, -r 15git हेड (संस्करण N-50285-gad89952) से ffmpeg के साथ बिल्कुल या बिना समान हैं। यदि यह आपके लिए पुराने ffmpeg संस्करण का उपयोग करके काम कर रहा है, तो यह एक प्रतिगमन हो सकता है और इसे FFmpeg वीडियो ट्रैकर को सूचित किया जाना चाहिए ।
लल्गन

1
मैं @LordNeckbeard के साथ हूँ, आपको इसे FFMPEG
क्रिस जेम्स चम्पू

3

मैं Ubuntu 12.04.3 LTS पर इसी तरह के मुद्दे से जूझ रहा था। मैंने स्थिर ffmpeg बिल्ड के उपयोग से समस्या को ठीक किया जो http://johnvansickle.com/ffmpeg/ से उपलब्ध है।


1
मैंने स्टैटिक बिल्ड की भी कोशिश की और यह कुछ हद तक बेहतर हुआ। शायद बग को ठीक कर दिया गया है, इस स्थिति में आपके उत्तर पर स्थिर बिल्ड से संस्करण संख्या को जोड़ना उपयोगी हो सकता है?
अमीर टी।

0

ट्रांसकोडिंग के बजाय एवी को कंटेनर बदलने की कोशिश करें, जो कि यूट्यूब के लिए बेहतर काम करता है:

ffmpeg -i JSP.ogv -vcodec copy -acodec copy JSP.avi

मैंने यह कोशिश की, और अपलोड कभी भी प्रसंस्करण पूरा नहीं करता है, जैसे कि मैं ओजीवी अपलोड करता हूं। चूँकि यह उत्तर YouTube को OGV स्वीकार करने से पहले देता है, इसलिए यह परिवर्तन होना चाहिए। उस ffmpeg को अभी भी इस रूपांतरण समस्या से चार साल बाद परेशान करना।
एमसीआर

मेरा ffpmeg है: 3.2.14-1 ~ deb9u1 (apt-get इंस्टॉल)
mcr

मैंने स्टैटिक बिल्ड्स (git-20191029) के साथ ऊपर दिए गए सभी बदलावों की कोशिश की है, और जबकि यह थोड़ा बेहतर हो जाता है, ऑडियो और वीडियो अनसिंक है। यदि किसी को एक बड़े - max_muxing_queue_size मान की आवश्यकता है। मैं 40960. इस्तेमाल किया
MCR
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.