ffmpeg ट्रांसकोड दो बार आगे सेक?


0

मेरे पास एवी वीडियो ( ए कहो ) का एक संग्रह है ।

मैं पहली बार उन्हें MPEG4 Part2 ( B ) का उपयोग करके परिवर्तित करता हूं ffmpeg -i ${inname} -vf scale=340:256,setsar=1:1 -q:v 1 -c:v mpeg4 -g 12 -f rawvideo ${outname}। कुल फ़ाइल का आकार 3.5G है।

फिर बी को इनपुट के रूप में उपयोग करते हुए , मैं बी को फिर से सी में ट्रांसकोड करने के लिए एक ही कमांड लागू करता हूं , जिसका आकार 3.1 जी है।

मैंने सोचा कि बी और सी का प्रारूप समान है और इस तरह एक ही फाइल का आकार होना चाहिए? क्यों नहीं और कैसे मैं इसे दूसरे ट्रांसकोडिंग प्रक्रिया में कोई जानकारी नुकसान सुनिश्चित करने के लिए हल कर सकता हूं?


2
ट्रांसकोडिंग हमेशा डेटा खो देता है। वीडियो एन्कोडिंग हानिप्रद है।
Mokubai

धन्यवाद। लेकिन बी और सी में एक ही प्रारूप हैं जैसे कि ब्लॉक आकार, पी-फ़्रेम की संख्या, आदि। इसे दोषरहित बनाना संभव होना चाहिए - बी को सी , सी के रूप में केवल डुप्लिकेट करने पर विचार करें ?
अपोलिवर

बस वीडियो को एक नए कंटेनर में कॉपी करके, हाँ। ट्रांसकोडिंग द्वारा, नहीं। Ffmpeg का उपयोग कर नकल का समर्थन करता है-c:v copy
Mokubai

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

BTW, वीडियो को एक नए कंटेनर में कॉपी करके -c:v copy, क्या आपका मतलब है कि, H.264 से MPEG4 Part2 में एक वीडियो कॉपी करें, फिर भी MPEG4 Part2 को समायोजित करने के लिए प्रारूप को बदला जा सकता है लेकिन कोई जानकारी नहीं? धन्यवाद। क्षमा करें कि मैं वीडियो संपीड़न में नया हूं ... मुझे लगता है कि उत्तर नहीं है क्योंकि मुझे निर्दिष्ट करने की आवश्यकता है -c:v mpeg4? या मुझे बस .mp4 के रूप में आउटपुट का नाम देना होगा?
अपोलिवर

जवाबों:


1

आपकी प्रक्रिया इस प्रकार है:

  1. (स्रोत) A → B (परिणाम)
  2. (स्रोत) बी → सी (परिणाम)

हानिपूर्ण एन्कोडिंग वीडियो का निर्माण करता है जो इसके स्रोत से भिन्न होता है, इसलिए B के फ्रेम A. के फ्रेम से भिन्न होते हैं। इसका मतलब है कि उपरोक्त प्रक्रिया के दोनों स्रोत अलग-अलग हैं।

मैंने सोचा कि बी और सी का प्रारूप समान है और इस तरह एक ही फाइल का आकार होना चाहिए? क्यों नहीं?

क्योंकि वे विभिन्न स्रोत वीडियो से निर्मित होते हैं।

दूसरी ट्रांसकोडिंग प्रक्रिया में कोई सूचना हानि सुनिश्चित करने के लिए मैं इसे कैसे हल कर सकता हूं?

  • दोषरहित एन्कोडिंग का उपयोग करें
  • या एक से अधिक बार ट्रांसकोड न करें।

धन्यवाद। मैंने एक अन्य प्रश्न ट्रांसकोड-लॉस-इनफॉर्मेशन में इस प्रश्न को आगे बढ़ाने वाले वास्तविक मुद्दे / कारण का वर्णन किया । क्या आप देख सकते हैं?
एपोलिवर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.