एवीआई में VOB फाइल कैसे बदलें?


10

मैं एक डीवीडी से कॉपी एक VOB फ़ाइल को Ubuntu 13.10 में एक AVI में बदलने की कोशिश कर रहा हूं। मैंने कोशिश की dvdrip, जो एक फ्रेम गणना त्रुटि या कुछ और के कारण विफल रहा। मैंने साथ ही एसिडट्रिप की कोशिश की, लेकिन यह हमेशा एक ऑडियो ट्रैक का चयन करता है जिसका मैं उपयोग नहीं करना चाहता था। मैं निम्नलिखित विशेषताओं के साथ एक एवी बनाने के लिए एक कमांड लाइन समाधान करना पसंद करूंगा:

  • mplayer के साथ प्रयोग करने योग्य (यानी कदम कार्यों का उपयोग करके)
  • आवश्यक के रूप में उपशीर्षक के साथ (या कोई भी नहीं)
  • सही ऑडियो ट्रैक के साथ
  • सिंक में वीडियो और ऑडियो के साथ

मैंने कुछ कोशिश की ffmpegऔर avconvआज्ञा दी और एक एवी बनाने में कामयाब रहा, लेकिन वीडियो और ऑडियो पूरी तरह से सिंक से बाहर थे। तो मुझे VOB फाइल को एवी फाइल में बदलने के लिए किन विकल्पों का उपयोग करना चाहिए?

मैं सुझाए गए विकल्पों पर कुछ स्पष्टीकरण की सराहना करूंगा!

अतिरिक्त जानकारी:

  1. ffmpegआदेश इनपुट फ़ाइल के लिए निम्न उत्पादन देता है

    Input #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB':
      Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s
        Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 8:9 DAR 4:3], 7500 kb/s, 27.68 fps, 59.94 tbr, 90k tbn, 59.94 tbc
        Stream #0.1[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
        Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
        Stream #0.3[0x81]: Audio: ac3, 0 channels
    [buffer @ 0x15ca6e0] w:720 h:480 pixfmt:yuv420p
    
  2. निम्नलिखित आदेश

    ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
    

    उदाहरण के लिए मेरे उबंटू सत्र का एक क्रैश हुआ।

  3. निम्नलिखित आदेश

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
    

    उदाहरण के लिए निम्नलिखित त्रुटि हुई:

    Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374
    av_interleaved_write_frame(): Invalid argument
    
  4. निम्नलिखित आदेश

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k output.avi
    

    उदाहरण के लिए निम्नलिखित त्रुटि हुई:

    Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
    
  5. निम्नलिखित आदेश

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a ac3 -b:a 128k output.avi
    

    उदाहरण के लिए कुछ फ्रेम के लिए काम करने के लिए लग रहा था। लेकिन बहुत जल्द मुझे फॉर्म की कई त्रुटियों का सामना करना पड़ा

    [ac3 @ 0x120d480] frame sync error
    Error while decoding stream #0:1
    frame CRC mismatch
    
  6. निम्नलिखित आदेश

    mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
    

    कुछ परिवर्तित किया, लेकिन (i) उपशीर्षक का उपयोग कर रहा हूं, हालांकि मैं उनका उपयोग नहीं करना चाहता था (ii) ऑडियो गलत मिला (ऑडियो और वीडियो बुरी तरह से गलत है) और (iii) वास्तव में फिल्म की तुलना में धीमी लगती है (हो सकती है) 90 मिनट की फिल्म के लिए 2 घंटे)।

  7. मैंने यहां दिए गए आदेश (Xeratul से तीसरा पद) की कोशिश की, लेकिन यह त्रुटि के साथ बंद हो गया

    FATAL: Cannot initialize video driver.
    
  8. मैंने नीचे दिए गए सुझाव को mencoder पेज को देखने की कोशिश की । यह पृष्ठ दो पास का उपयोग करने का सुझाव देता है:

    पहला फिल्म के बारे में जानकारी पढ़ता है, दूसरा उस जानकारी को एन्कोड करने के लिए उपयोग करता है।

    लेकिन न तो यह समझाया जाता है कि कौन सी जानकारी निकाली जाए और न ही उन्हें दूसरे पास में कैसे इस्तेमाल किया जाए। इसलिए मैंने निम्नलिखित कमांड का उपयोग किया:

    mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosound -ovc x264 \
    -x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\
    me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
    -vf scale=-1:-10,harddup -o video.avi
    

    जिसने वीडियो परिवर्तित किया, लेकिन एक अवांछित उपशीर्षक के साथ। यह बिल्कुल स्पष्ट नहीं है कि मैं उपशीर्षक का उपयोग करने से कैसे बच सकता हूं।


ffmpegबहुत समय पहले से पदावनत है, तो आप अपने स्वयं के उत्तराधिकारी का उपयोग करने वाले हैं avconv:।
user2485710

तो avconvफिर कैसे VOB फ़ाइलों को AVI में बदलने के लिए उपयोग करें । आज्ञा avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.aviने एक त्रुटि दी Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument...
एलेक्स

एवोकन के लिए मेनपेज में एक उदाहरण है, डीक्रिप्ट की गई VOB फ़ाइलों के लिए avconv -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.aviयह कोशिश करें
user2485710

यह एक त्रुटि देता हैError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
एलेक्स

mencoder yourvob -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o /dev/nullफिर कोशिश करें mencoder yourvob -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o video.avi- कि आर्क doc @ dg99 लिंक से भाग में ले लिया।

जवाबों:


6

उपशीर्षक से छुटकारा पाने के लिए मेरा मानना ​​है कि आप -nosub.VOB फ़ाइल के नाम के ठीक बाद स्विच जोड़ सकते हैं ।

उदाहरण

$ mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosub -nosound -ovc x264 \
-x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf scale=-1:-10,harddup -o video.avi

विवरण

ये भस्मारती अक्सर बहुत घनी होती हैं इसलिए इसे थोड़ा नीचे गिराने के लिए

  • इनपुट फ़ाइल: Videos/Test/VIDEO_TS/VTS_01_1.VOB
  • आउटपुट फाइल: -o video.avi
  • सबटाईटल नहीं: -nosub
  • ध्वनि को एन्कोड न करें: -nosound
  • दिए गए कोडेक के साथ सांकेतिक शब्दों में बदलना: -ovc x264

अन्य कोडेक्स की सूची

$ mencoder -ovc help
MEncoder SVN-r36171-4.8.1 (C) 2000-2013 MPlayer Team

Available codecs:
   copy     - frame copy, without re-encoding. Doesn't work with filters.
   frameno  - special audio-only file for 3-pass encoding, see DOCS.
   raw      - uncompressed video. Use fourcc option to set format explicitly.
   nuv      - nuppel video
   lavc     - libavcodec codecs - best quality!
   libdv    - DV encoding with libdv v0.9.5
   xvid     - XviD encoding
   x264     - H.264 encoding
  • x264 सांकेतिक विकल्प: x264encopts
  • डायरेक्ट मोशन वैक्टर के लिए सेट मोड :direct=auto
  • की संख्या गुजरता :pass=2
  • लक्ष्य एन्कोडिंग बिटरेट: bitrate=900
  • पूर्व। बी और पी-फ्रेम में भविष्यवक्ता के रूप में इस्तेमाल किए गए फ्रेम (डीईएफ: 3):frameref=5
  • बी-फ्रेम के समवर्ती #: bframes=1
  • पूर्णांक गति अनुमान me=umh

    नोट: उम - असमान बहु-षट्भुज खोज (धीमी)

  • सभी मैक्रोब्लॉक प्रकारों को सक्षम करें: partitions=all

  • दर-विरूपण इष्टतम मात्रा का ठहराव: trellis=1

    नोट: 2 - सभी मोड निर्णयों के दौरान सक्षम (धीमा, सबकुछ की आवश्यकता है> = 6)

  • क्वांटाइज़र इंक्रीमेंट / डिक्रीमेंट वैल्यू: qp_step=4

    नोट: अधिकतम मान जिसके द्वारा क्वांटिज़र फ्रेम के बीच बढ़ा / घटाया जा सकता है (डिफ़ॉल्ट: 4)

  • मात्रात्मक संपीड़न (डिफ़ॉल्ट: 0.6): qcomp=0.7

  • बी फ्रेम में macroblocks के लिए प्रस्ताव भविष्यवाणी: direct_pred=auto
  • फ़्रेम में कीफ़्रेम के बीच अधिकतम अंतराल: keyint=300

  • इसके बाद विकल्प वीडियो फिल्टर हैं: -vf

नोट: वीडियो फ़िल्टर स्विच के लिए, यह महत्वपूर्ण है कि आप harddupअंतिम फ़िल्टर के रूप में उपयोग करें : यह MEncoder को आउटपुट में हर फ्रेम (यहां तक ​​कि डुप्लिकेट वाले) लिखने के लिए मजबूर करेगा। इसके अलावा, यह उपयोग करने के लिए आवश्यक है scale=$WIDTH,-10के साथ $WIDTHके रूप में -1मूल चौड़ाई या एक नया, आमतौर पर छोटे, चौड़ाई रखने के लिए: यह आवश्यक है के बाद से 264 कोडेक का उपयोग करता है वर्ग पिक्सल और डीवीडी के बजाय आयताकार पिक्सल का उपयोग करें।

  • scale=-1
  • -10
  • harddup

वीडियो कैसे प्राप्त करें, इस बारे में अच्छी तरह से समझाया गया उदाहरण के लिए बहुत-बहुत धन्यवाद। वीडियो को निकालने के लिए आपका सुझाया गया कमांड पूरी तरह से काम करता है। हालाँकि, मेरे पास अब ऑडियो नहीं है। अगर मैं बिना अपने आदेश का उपयोग करें -noaudioऔर साथ -oac copyमैं ऑडियो, जो वीडियो के साथ सिंक में नहीं है मिलता है। इसे या तो विस्थापित किया जाता है, एक अलग गति से या दोनों में। किसी भी सुझाव मैं कैसे भी सही ऑडियो प्राप्त कर सकते हैं? और कई VOB फ़ाइलों के बारे में क्या? किसी एकल .aviफ़ाइल (या अन्य प्रारूप) में सामग्री कैसे पैक करें ?
एलेक्स

@ एलेक्स - बस एक विचार है, लेकिन मुझे नहीं लगता कि आप बस -oac copyएक 2 पास के साथ कर सकते हैं, क्योंकि आप वीडियो को फिर से एन्कोडिंग कर रहे हैं, आपको इसके साथ ऑडियो को फिर से एनकोड करना होगा। उन्हें "पैकिंग" करने के लिए, vob फ़ाइलों को इस तरह मिलाया जाना चाहिए cat *.vob all.vob:। फिर all.vobमेन्कोडर सीएमडी में उपयोग करें। ऐसा करने के अन्य तरीके भी हैं।
स्लम

3

यदि आप उपयोग करने का इरादा रखते हैं mplayer, तो आपको प्रयास करना चाहिए mencoder( http://www.mplayerhq.hu )। इसकी सबसे अच्छी विशेषताओं में से एक यह है कि प्लेबैक विकल्प जिसे आप जानते हैं कि mplayerएन्कोडिंग करते समय उसी तरह से व्यवहार करते हैं। इसके अलावा, बहुत सारे प्रलेखन और ईमेल थ्रेड हैं, जो आप पूछ रहे हैं:


प्रदान किए गए लिंक में दर्जनों विभिन्न उदाहरण और सैकड़ों विकल्प हैं। यह मेरे प्रश्न का स्पष्ट और सटीक उत्तर नहीं है।
एलेक्स

1
यह सच है, लेकिन मैंने प्रतिष्ठा पाने के लिए जवाब नहीं लिखा, मैंने इसे आपकी मदद करने के लिए लिखा है। कुछ mencoderपृष्ठों के माध्यम से पढ़ने पर विचार करें । कई समुद्री डाकू समूह हैं जो केवल mencoderअपने सभी कार्यों के लिए उपयोग करते हैं; यह कितना सरल और शक्तिशाली और स्वचालित है।
dg99

2

मुझे पता है कि यह पुरानी पोस्टिंग है, लेकिन इस मुद्दे को इंटरनेट पर सर्च करने से उपरोक्त प्रश्न पॉप हो जाता है, और कुछ अन्य प्रविष्टियां और भी पुरानी हैं।

मैंने विभिन्न उपकरणों की कोशिश की है, लेकिन अंत में मैं इस कमांड से सबसे अधिक संतुष्ट हूं:

ffmpeg -i *.vob -c:v libx264 -crf 20 -c:a libmp3lame -ac 2 -ab 192k output.avi

यह मेरे द्वारा यहां पाया गया एक मामूली संशोधन है

मैंने केवल ऑडियो कोडेक को बदल दिया है ( libflacमेरे सिस्टम पर अनुपस्थित था, इसलिए मैंने इसे libmp3lame( स्रोत ) और -crfगुणवत्ता बढ़ाने के लिए मूल्य के साथ बदल दिया । अन्य स्वरूपों का भी उपयोग किया जा सकता है, जैसे mp4

मेरे परीक्षण में (बल्कि औसत दर्जे के प्रोसेसर के साथ) एक 2.6 जीबी vob फ़ाइल (पहले से ही तीन अन्य फाइलों से बाहर निकाली गई) को लगभग 50 मिनट में 960 एमबी एवीआई तुलनीय गुणवत्ता के वीडियो में बदल दिया गया था।

20 मध्यम स्वीकार्य गुणवत्ता है (हैंडब्रेक सहायता लेख जो मैंने देखा है)। बड़ी संख्या गुणवत्ता की कीमत पर आकार को कम करती है। 20 से ऊपर की गुणवत्ता हानि स्पष्ट है।

प्रगति को देखने के लिए टर्मिनल में उस कमांड का उपयोग करना बेहतर है, इसे अधिक आसानी से मार दें, आदि।

इस कमांड के बारे में मुझे जो पसंद है वह यह है कि यह गुणवत्ता, समय और आकार के बीच एक अच्छा संतुलन प्रदान करता है और इसे आसानी से फ़ाइल प्रबंधक के संदर्भ मेनू से उपयोग किया जा सकता है।

ऐसा कैसे करें जो फ़ाइल प्रबंधक पर निर्भर करता है। कमांड को थुनर और नॉटिलस में 'कस्टम एक्शन' के रूप में आसानी से जोड़ा जा सकता है। मैंने इसे ~/.kde/share/kde4/services/ServiceMenus/convert_vob_to_avi.desktopइस तरह की फाइल के साथ डॉल्फिन में जोड़ा है :

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,video/mpeg
MimeType=video/mpeg
Actions=Convert2avi
X-KDE-Submenu=Convert vob (DVD video)
Encoding=UTF8

[Desktop Action Convert2avi]
Name=to avi
Icon=video
Exec=konsole -e ffmpeg -i *.vob -c:v libx264 -crf 20 -c:a libmp3lame -ac 2 -ab 192k output.avi

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.