FFmpeg / avidemux: B- फ्रेम को पैक करके ठीक करें


10

मैं अपने कुछ पुराने mpeg4 वीडियो (AVI कंटेनर में) को FFmpeg के साथ h.264 में ट्रांसकोड कर रहा हूं। मूल रूप से

ffmpeg -i input.avi -c:v libx264 [x264 settings] -c:a libfdk_aac [aac settings] output.mp4

ऐसा करते समय, mpeg4निम्न चेतावनी जारी करता है

वीडियो बी-फ्रेम ('पैक बी-फ्रेम') को स्टोर करने के लिए एक गैर-मानक और बेकार तरीके का उपयोग करता है। इसे ठीक करने के लिए VirtualDub या avidemux जैसे टूल का उपयोग करने पर विचार करें।

मुझे पता है कि मैं अभी भी सफलतापूर्वक ट्रांसकोड कर सकता हूं, लेकिन चेतावनी से मुझे यह स्पष्ट नहीं है कि परिणामी h.264 वीडियो की गुणवत्ता प्रभावित होगी या नहीं

इसलिए,

  • यह देखते हुए कि मैं केवल गुणवत्ता (और आकार) के बारे में परवाह करता हूं, मैं अपने मोबाइल उपकरणों के लिए आकार को कम करना चाहता हूं, यही कारण है कि मैं veryslowआउटपुट h.264 वीडियो का प्रीसेट भी उपयोग कर रहा हूं , क्या मुझे पैक किए गए बी के बारे में ध्यान देना चाहिए फ्रेम?

  • अगर मुझे चाहिए, तो मैं उन्हें एविडेमक्स के साथ कैसे ठीक करूं? (मैंने पहले ही मैनुअल के माध्यम से स्कीमिंग करने की कोशिश की।)

जवाबों:


12

बी-फ्रेम एक फ्रेम प्रकार है जिसका उपयोग वीडियो संपीड़न में वीडियो के फ्रेम का प्रतिनिधित्व करने के लिए किया जाता है। बी-फ़्रेम प्रत्येक वीडियो फ्रेम का प्रतिनिधित्व करने के लिए पिछले और भविष्य दोनों फ़्रेमों से जानकारी का उपयोग कर सकते हैं।

पुराने DivX- एन्कोडेड वीडियो आमतौर पर एक बदसूरत विधि का उपयोग करते हैं जिसे पैक्ड बिटस्ट्रीम कहा जाता है जो कई वीडियो फ्रेम को एक एकल AVI चंक में डालता है। पैक्ड बिटस्ट्रीम मानक एमपीईजी -4 नहीं है, अधिक स्थान का उपयोग करता है, एन्कोड / डीकोड करने के लिए अधिक सीपीयू शक्ति की आवश्यकता होती है, और सबसे महत्वपूर्ण बात यह हो सकती है कि अगर किसी अन्य कंटेनर प्रकार में कॉपी किया जाए। यह चेतावनी का मुख्य कारण है।

चूंकि आप वीडियो को केवल कॉपी करने के बजाय फिर से एन्कोडिंग कर रहे हैं, इसलिए आपको ठीक होना चाहिए। यदि आप मूल वीडियो रखना चाहते थे, लेकिन इसे किसी अन्य प्रकार के कंटेनर (जैसे MP4 या MKV) में कॉपी करते हैं, तो FFmpeg फ़िल्टर का उपयोग करके पहले B- फ्रेम को अनपैक करना सबसे अच्छा होगा mpeg4_unpack_bframes

आप कुछ सरल जैसे बी-फ्रेम को खोल सकते हैं

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.