उबंटू का उपयोग करके एक वीडियो फ़ाइल 90 डिग्री घुमाएँ


19

मैं Ubuntu और अधिमानतः मानक संकुल जैसे ffmpeg का उपयोग करना चाहता हूँ। किसी भी दिशा में .3gp वीडियो फ़ाइल को 90 डिग्री तक घुमाने के लिए। अधिमानतः एक कमांड लाइन या पायथन लिपि।

मैं उसे कैसे कर सकता हूँ?


मैंने पाया कि ffmpeg ऐसा करने में सक्षम था। देखें, उदाहरण के लिए, उबंटू फोरम: वीडियो 90 डिग्री घुमाएँ
साइमन

जवाबों:


9

VLC का उपयोग करके , आप उपकरण >> वरीयताएँ पर जाकर वीडियो को घुमा सकते हैं ...

और शो सेटिंग्स के लिए "सभी" चुनें। फिर जाएं: वीडियो >> फ़िल्टर >> घुमाएँ

अपनी इच्छित डिग्री सेट करने के बाद, आप टूल्स> इफेक्ट्स और फिल्टर्स> वीडियो इफेक्ट्स> ज्योमेट्री .. पर जाकर घुमा सकते हैं।

वैकल्पिक शब्द

मैंने जो परीक्षण किया है वह mp4 है लेकिन मेरा मानना ​​है कि VLC 3gp का भी समर्थन कर सकता है। उम्मीद है की यह मदद करेगा। :)


13
मैं वीडियो को घुमाया हुआ देख सकता हूं, लेकिन आप बदलाव को कैसे
बनाए रखते


17

कमांड लाइन से, ffmpeg के साथ:

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1वीडियो को 90 डिग्री पर घुमाएगा; एंटी-क्लॉकवाइज़ को घुमाने के लिए, उपयोग करें transpose=2। देखें पक्षांतरित प्रलेखन में थोड़ा और अधिक जानकारी के लिए।

  • -metadata:s:v rotate=""किसी भी मौजूदा वीडियो स्ट्रीम रोटेशन मेटाडाटा को हटा देगा; अन्यथा ffmpegइसे कॉपी करेगा जो आपके खिलाड़ी को अतिरिक्त अवांछित रोटेशन को लागू करने का कारण बन सकता है।

  • यहां वीडियो एन्कोडिंग सेटिंग्स के बारे में जानकारी के लिए, इस H.264 एन्कोडिंग गाइड और AAC एन्कोडिंग गाइड को देखें यदि आप स्ट्रीम कॉपी करने के बजाय ऑडियो को फिर से एनकोड करना चाहते हैं ।


यह प्रश्न का बेहतर उत्तर देता है क्योंकि यह बताता है कि मूल प्रश्न में निर्दिष्ट ffmpeg के साथ कमांड लाइन से इसे कैसे किया जाए। मुझे लगता है कि यह उत्तर सही होना चाहिए। फेडोरा 25 पर मई 2017 तक, यह अभी भी काम करता है, MP4 कोडेक के लिए एक पदावनत संदेश के साथ।
जस्टिन डब्ल्यू फ्लॉरी


2

मैंने एक समान समस्या हल की - मेरे पास एक .MOV है जिसे उल्टा ले जाया गया (यानी, 180 डिग्री घुमाया गया) जिसे मैं सही सेट करना चाहता था।

मेरे उबंटू 14.04 सिस्टम पर, मैं avconvअनिवार्य रूप से उसी कमांड-लाइन विकल्प के साथ दौड़ा, जैसा ffmpegकि बुराइयों के जवाब में दिया गया था । जाहिरा तौर पर, यह transpose180-डिग्री रोटेशन के लिए एक विकल्प का समर्थन नहीं करता है , इसलिए मैंने 90-डिग्री दक्षिणावर्त (यानी, transpose=1दो बार) किया।

जब मैंने न्यूनतम विकल्पों की कोशिश की, तो मुझे इस आशय का संदेश मिला:

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

और आउटपुट फ़ाइल शून्य लंबाई थी, इसलिए मैंने इसमें जोड़ा -strict experimental

काम करने वाले कमांड लाइन थे:

avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV

परिणाम अस्पष्टीकृत दुष्प्रभावों के साथ संतोषजनक था:

  1. इंटरमीडिएट फ़ाइल ~ 14% मूल से छोटी थी।
  2. परिणाम फ़ाइल मध्यवर्ती से ~ 18% और मूल से लगभग 30% तक छोटी थी।
  3. परिणाम फ़ाइल थंबनेल दिखाता है, जबकि मूल और मध्यवर्ती शो केवल सामान्य आइकन है।

ऐसा नहीं है कि मैं शिकायत कर रहा हूं: ये वांछनीय हैं; मुझे समझ में नहीं आता कि वे क्यों आए ...


सुपर उपयोगकर्ता में आपका स्वागत है। (1) जबकि आपके उत्तर की कुछ पृष्ठभूमि जानकारी सहायक हो सकती है, समस्या के समाधान पर ध्यान केंद्रित करना सबसे अच्छा है। मैंने आपके उत्तर को वर्णन करने के लिए संपादित किया है; अगर आपको लगता है कि मैं बहुत ज्यादा बदल गया हूं तो इसे और अधिक संपादित करने के लिए स्वतंत्र महसूस करें । (२) उत्तरों का प्रदर्शन क्रम भिन्न हो सकता है; अन्य उत्तर (ओं) को "ऊपर" कहने के बजाय स्पष्ट रूप से पहचानना बेहतर है। (2 () मुझे आशा है कि आपने अपनी avconvकमांड लाइनों को उनकी संपूर्णता में प्रस्तुत किया है , न कि केवल ffmpegकमांड के अंतरों से । आपका उत्तर आत्मनिर्भर होना चाहिए; अन्य उत्तर दूर जा सकते हैं। (३) सौभाग्य!
जी-मैन ने कहा कि मोनिका '

इसके अलावा, मुझे लगता है कि जब आप कहते हैं कि "परिणाम संतोषजनक था" क्या आपका मतलब है कि आपके "परिणाम" फ़ाइल देखा मूल फ़ाइल के रूप में अच्छा के रूप में। आप ऐसा स्पष्ट रूप से कहना चाहते हैं ( अपना संदेश संपादित कर सकते हैं )। (इस तरह की जानकारी - यानी, चाहे आप वीडियो की गुणवत्ता आंख को खो दें - आपके उत्तर के लिए महत्वपूर्ण है, और एक टिप्पणी में छिपी नहीं होनी चाहिए।) इसके अलावा, मुझे विश्वास है कि आप उद्धरण छोड़ सकते हैं और बस कह सकते हैं -filter:v transpose=1 …
जी-मैन ने कहा कि 'मोनिका'

2

इस प्रश्न का मूल रूप से उत्तर देने के बाद से ही लिबाव में कुछ बदलाव हुए हैं। इस वर्तमान और उपयोगी को बनाए रखने के प्रयास में मैं followng प्रदान करूंगा:

आप इसे हाल के संस्करणों के साथ ffmpegऔर avconvपारगमन वीडियो फिल्टर का उपयोग करके पूरा कर सकते हैं ।

avconv -i inputfile -vf transpose=clock outputfile

दक्षिणावर्त रोटेशन के लिए।

ffmpeg में सिंटैक्स समान होता है।

ffmpeg -i inputfile -vf transpose=clock outputfile

जहां inputfile आपकी समर्थित इनपुट वीडियो फ़ाइल है और outputfile आपकी इच्छित आउटपुट फ़ाइल है।

काउंटर क्लॉकवाइज रोटेशन के लिए घड़ी को सीसीएल से बदलें

यहाँ प्रलेखन से एक अंश है:

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

सूत्रों का कहना है:

https://libav.org/avconv.html#transpose

https://ffmpeg.org/ffmpeg-filters.html#transpose-1

Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04 पर परीक्षण


1
न्यूनतम मापदंडों के लिए धन्यवाद। ffmpegमेरे लिए काम किया (कोशिश नहीं avconv)
अमिल वडूवारा

अति उत्कृष्ट! हाँ कई पोस्टों में ffmpefबहुत सारी अनावश्यक बहसें शामिल हैं, धन्यवाद!
मारियानो रुइज

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