न्यूनतम नुकसान के साथ AVI के लिए एक MKV कैसे परिवर्तित करें


23

एक MKV को AVI में बदलने के लिए, मैं दो चीजें करता हूं। पहली बात यह है कि यह है:

ffmpeg -i filename.mkv -vcodec copy -acodec copy output.avi

या यह:

ffmpeg -i filename.mkv -sameq -acodec copy output.avi

या तो एमकेवी को एक एवीआई में बदल देगा, लेकिन समस्या यह है कि वीडियो किसी कारण से आसानी से नहीं चलता है। हालांकि यह ठीक है, क्योंकि अगर मैं एक और काम करता हूं तो यह ठीक हो जाता है:

ffmpeg -i output.avi -vcodec mpeg4 -b 4000k -acodec mp2 -ab 320k converted.avi

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

FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
  built on Dec 29 2010 18:02:10 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: 
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.11. 0 /  0.11. 0

Seems stream 0 codec frame rate differs from container frame rate: 359.00 (359/1) -> 29.92 (359/12)
Input #0, avi, from 'output.avi':
  Metadata:
    ISFT            : Lavf52.64.2
  Duration: 00:04:17.21, start: 0.000000, bitrate: 3074 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 704x480 [PAR 229:189 DAR 5038:2835], 29.92 fps, 29.92 tbr, 29.92 tbn, 359 tbc
    Stream #0.1: Audio: vorbis, 48000 Hz, stereo, s16
Output #0, avi, to 'converted.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0: Video: mpeg4, yuv420p, 704x480 [PAR 229:189 DAR 5038:2835], q=2-31, 4000 kb/s, 29.92 tbn, 29.92 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 320 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

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


यह वही है जो ffmpeg ने मुझे asq के लिए दिया था: Option 'sameq' को हटा दिया गया था। यदि आप गुणवत्ता को संरक्षित करने के लिए एक विकल्प की तलाश कर रहे हैं (जो कि -sameq के लिए नहीं था), उपयोग -qscale 0 या समकक्ष गुणवत्ता कारक विकल्प है।
डेविड 16

जवाबों:


25

केवल वीडियो और ऑडियो बिटस्ट्रीम की प्रतिलिपि बनाने के लिए, इस प्रकार गुणवत्ता की हानि के बिना:

ffmpeg -i filename.mkv -c:v copy -c:a copy output.avi

यदि आप वीडियो और ऑडियो को स्वचालित रूप से परिवर्तित करने के लिए FFmpeg चाहते हैं:

ffmpeg -i filename.mkv output.avi

7
FFmpeg की डिफ़ॉल्ट सेटिंग्स भयानक होती हैं। यहां विभिन्न कोडेक्स के साथ एन्कोडिंग के लिए एक सामान्य मार्गदर्शिका है; एफएफएमपी विकी में अधिक गहराई वाले गाइड हैं।
ईविल्स

पहला कोड बनाया गया फ़ाइल जो दूषित था वह VLC में नहीं चला।
कोडमिरर

18
 ffmpeg -i "input.mkv" -f avi -c:v mpeg4 -b:v 4000k -c:a libmp3lame -b:a 320k "converted.avi"

मेरा सुझाव: AVI कंटेनर में एमपीईजी 4 + एमपी 3 का उपयोग करें।


1

Ffmulticonverter का उपयोग करने का प्रयास करें। मेरे लिए बहुत उपयोगी है: यह ffmpeg के लिए GUI का एक प्रकार है और आप आसानी से सभी मापदंडों को सेट कर सकते हैं। इसके अलावा आप सभी संभव वीडियो प्रारूपों की एक सूची पा सकते हैं।

एल.पी.


-3

क्या मैं नियमित रूप से उपयोग किए जाने वाले शॉर्टकट की सलाह दे सकता हूं?

ffmpeg -i filename.mkv -sameq output.avi

4
समान का मतलब समान गुणवत्ता नहीं है और इसका उपयोग नहीं किया जाना चाहिए। वास्तव में इसे पूरी तरह से ffmpeg से हटा दिया गया था। बल्कि जो भी लक्ष्य कोडेक प्रदान करता है उसका उपयोग करके गुणवत्ता सेट करें।
21
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.