iPhone ने वीडियो को विंडोज सिस्टम पर घुमाया


5

मैं iPhone पर वीडियो रिकॉर्ड कर रहा हूं और उन्हें अपने लिनक्स सर्वर पर अपलोड कर रहा हूं। उपयोगकर्ता इन वीडियो को वेबसाइट पर देख सकते हैं। अगर उपयोगकर्ता मैक या iDevices पर वीडियो देख रहे हैं, तो वीडियो ठीक दिख रहा है, लेकिन जब उपयोगकर्ता विंडोज़ सिस्टम पर उस वीडियो को देख रहे हैं, तो ये वीडियो घुमाए जा रहे हैं।

मैं यह मान रहा हूं कि रिकॉर्ड किए गए वीडियो में कुछ सेब के झंडे के कारण है जो विंडोज सिस्टम पढ़ने में सक्षम नहीं हैं। क्या मैं किसी तरह से वीडियो रिकॉर्ड कर सकता हूं ताकि वे विंडोज सिस्टम पर न घुसे? या क्या कोई ऐसा तरीका है जिससे मैं FFmpeg का उपयोग करके उचित इंटरफ़ेस ओरिएंटेशन के साथ वीडियो को फिर से एनकोड कर सकता हूं?

मैं FFmpeg या iOS दोनों तरह से खुला हूँ।

जवाबों:


7

आप iOS कैमरा वीडियो रिकॉर्ड करने का तरीका नहीं बदल सकते। यह एक रोटेशन फ़्लैग सेट करता है, और यदि आप चाहते हैं कि वीडियो को OS X और Windows (और अन्य खिलाड़ियों) दोनों में सही तरीके से दिखाया जाए, तो आपको निम्न करना होगा:

  • रोटेशन ध्वज निकालें। अब आपका वीडियो लैंडस्केप है, लेकिन फिर भी गलत दिखाई दे रहा है।
  • वीडियो को फिर से एनकोड करें, इसे घुमाएं।

डाउनलोड ffmpeg (आपके ओएस के लिए एक स्थिर निर्माण ठीक है)।

फिर आपको transposeफ़िल्टर की आवश्यकता होती है , जैसे

ffmpeg -i portrait.mov \
-c:v libx264 -filter:v "transpose=1" \
-c:a copy \
-metadata:s:v:0 rotate=0 out.mp4

कुछ टिप्पणी:

  • यहां, transpose=190 ° से घूमेगा। यदि आपका वीडियो उल्टा है, तो आपको विकल्पों को संयोजित करना होगा। आप या तो उपयोग कर सकते हैं -filter:v "transpose=2,transpose=2"या अन्य। यहाँ देखें: FFmpeg के साथ 180 ° (लंबवत / उल्टा) वीडियो कैसे फ्लिप करें?

  • -metadata:s:v:0 rotate=0विकल्प है कि पहले वीडियो स्ट्रीम में रोटेशन मेटाडाटा फिर 0 पर सेट है (यह 90 पर था पहले), इसलिए अपने वीडियो अब दोनों ओएस एक्स और अन्य OSes पर ठीक से पता चलता है।

  • स्वाभाविक रूप से, ट्रांसपोज़िंग वीडियो को फिर से एन्कोड करेगा और आप गुणवत्ता खो देंगे। लगातार दर कारक निर्धारित -crfकरने के बाद विकल्प जोड़ें , जो गुणवत्ता को नियंत्रित करता है। बेहतर गुणवत्ता प्राप्त करने के लिए कम मूल्यों का उपयोग करें। 23 वास्तव में डिफ़ॉल्ट है, इसलिए आपको इसे निर्दिष्ट करने की आवश्यकता नहीं है, लेकिन आप चाहें तो 18 के रूप में कुछ कम चुन सकते हैं यदि वीडियो खराब दिख रहा है अन्यथा, जैसे ।-c:v libx264-c:v libx264 -crf 18

  • कुछ मामलों में आप केवल रोटेशन ध्वज को हटाना चाहते हैं, लेकिन मूल वीडियो बिटस्ट्रीम को बरकरार रखना चाहते हैं। ऐसा करने के लिए, के -c:v libx264 -filter:v "transpose=1"साथ बदलें -c:v copy

  • की जाँच करें x264 एन्कोडिंग गाइड और अधिक के लिए।


मेरे द्वारा स्वामित्व वाले प्रत्येक iPhone पर, रियर-फेसिंग कैमरा के लिए "देशी" ओरिएंटेशन फोन के साथ लैंडस्केप ओरिएंटेशन में है, बाएं हाथ की ओर कैमरा लेंस के साथ। यदि वीडियो मूल रूप से उस अभिविन्यास में शूट किया गया था, तो फिर से एन्कोडिंग के बिना रोटेशन का झंडा उतारना पर्याप्त होना चाहिए। (हालांकि यह शायद वैसे भी बिना संशोधन के सभी खिलाड़ियों में सही ढंग से दिखाई देगा।)
स्मिटेली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.