2013-03-11 6 views
24

मेरे पास एक वीडियो फ़ाइल है। मैं इसे MediaInfo उपयोगिता के साथ खोलता हूं और मैं इस फ़ाइल में रोटेशन 9 0 (कोडेकआईडी, बिटरेट इत्यादि जैसे अन्य विशेषताओं के साथ) में एक वीडियो स्ट्रीम देख सकता हूं।क्या मैं एफएफएमपीईजी के साथ एक वीडियो स्ट्रीम के लिए रोटेशन फ़ील्ड सेट कर सकता हूं?

अब मेरे पास एक और वीडियो फ़ाइल है जिसमें उस विशेषता रोटेशन 90 नहीं है, इसमें रोटेशन विशेषता नहीं है।

क्या मैं ffmpeg.exe का उपयोग कर सकता हूं ताकि यह रोटेशन 90 विशेषता के साथ आउटपुट फ़ाइल उत्पन्न कर सके और कोई अन्य परिवर्तन न हो? मैं वास्तव में कोई परिवर्तन नहीं करना चाहता, बस रोटेशन विशेषता सेट करना चाहता हूं।

मैंने -metadata विकल्प का कोई फायदा नहीं लिया है।

उत्तर

57

यह हाल FFmpeg के साथ काम करता है:

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4 

यह बिटस्ट्रीम stream copy जाएगा, ताकि कोई एन्कोडिंग किया जाता है। केवल पहली वीडियो स्ट्रीम (v:0) का मेटाडाटा बदल दिया गया है और खिलाड़ी वीडियो को घूर्णन तरीके से दिखाएगा। आप "शारीरिक रूप से" वीडियो बारी बारी से करना चाहते हैं

  • , आप use the transpose filter करने के लिए है: (सभी खिलाड़ियों इस का समर्थन करेंगे।)

    अतिरिक्त नोट्स। फ़िल्टरिंग को पुनः-एन्कोडिंग की आवश्यकता होगी, इसलिए आपको -c copy को हटाना होगा।

  • आप -c copy छोड़ देते हैं, और केवल फिर से muxing के बजाय सांकेतिक शब्दों में बदलना चाहते हैं, तो ffmpeg स्वचालित रूप से वीडियो बारी बारी से होगा अगर कोई मौजूदा घुमाने मेटाडाटा है। आप इस व्यवहार को -noautorotate से अक्षम कर सकते हैं।

+0

बहुत बहुत धन्यवाद, यह काम कर रहा है! –

+0

मैंने ffmpeg का नवीनतम कोड संकलित किया है और इस कमांड को चलाने में कोई त्रुटि नहीं है लेकिन अभी भी वीडियो rotating नहीं है .pls मदद –

+1

@MohitChauhan कृपया ध्यान दें कि यह वास्तव में वीडियो को घुमाता नहीं है। यह सिर्फ रोटेशन ध्वज सेट करता है, जो कुछ खिलाड़ियों को घुमावदार तरीके से दिखाने का कारण बनता है। यदि आपको कमांड के साथ कोई समस्या है, तो कृपया [एसयू] पर एक प्रश्न पूछें और कमांड और उसके पूर्ण कंसोल आउटपुट दिखाएं। – slhck

संबंधित मुद्दे

 संबंधित मुद्दे