FFmpeg के साथ 180 ° वीडियो कैसे घुमाएं?


69

मेरे पास एक वीडियो है जिसे रिकॉर्ड किए जाने पर 180 ° घुमाया गया था। क्या FFmpeg के साथ इसे ठीक करना संभव है?


क्या आप प्लेबैक के दौरान इसे फ़्लिप करने या सही ओरिएंटेशन के साथ री-एन्कोडिंग के बारे में पूछ रहे हैं?
Mxx

@ XXX मैं पुन: एन्कोडिंग सोच रहा था, लेकिन प्लेबैक के दौरान आपका क्या मतलब था?
लुई

मीडिया प्लेयर जो एक डिकोडिंग बैकेंड के रूप में ffmpeg का उपयोग करते हैं, वे भी इसके सभी फिल्टर का उपयोग कर सकते हैं। इस स्क्रीनशॉट को देखें ffdshow-tryout.sourceforge.net/images/front1.png "ऑफसेट और फ्लिप" फ़िल्टर। इसके अलावा देखें stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg
Mxx

ओह ठीक है, शांत। यह मेरे लिए काम करेगा, लेकिन मैं इसे साझा भी करना चाहता हूं। मैं SO प्रश्न पर एक नज़र डालूंगा।
लुई

5
इस सवाल का शब्दांकन और शीर्षक वास्तव में भ्रामक है। किसी वीडियो को लंबवत रूप से फ़्लिप करना 180 डिग्री को घुमाने के समान नहीं है (जो एक ऊर्ध्वाधर फ्लिप और क्षैतिज फ्लिप के समान है)। रोटेशन को निर्दिष्ट करने के लिए मैं स्वीकृत उत्तर के आधार पर संपादन कर रहा हूं। वर्तमान में यह ffmpeg के साथ वीडियो फ़्लिप करने के लिए Google परिणामों को प्रदूषित कर रहा है।
जेसन सी

जवाबों:


102

मूलघुमाया


tl; डॉ

ffmpeg जब तक वीडियो स्वचालित रूप से घुमाएगी:

  • आपके इनपुट में कोई रोटेट मेटाडेटा नहीं है
  • आपका ffmpegबहुत पुराना है

रोटेशन मेटाडेटा

कुछ वीडियो, जैसे कि iPhones से, भौतिक रूप से फ़्लिप नहीं किए जाते हैं, लेकिन वीडियो स्ट्रीम डिस्प्लेमेट्रिक्स साइड डेटा या मेटाडेटा को घुमाते हैं। कुछ खिलाड़ी इन मेटाडेटा की उपेक्षा करते हैं और कुछ नहीं करते हैं। ffmpegयदि आपके इनपुट में इस तरह का मेटाडेटा है, तो यह देखने के लिए आउटपुट को कंसोल करें:

$ ffmpeg -i input.mp4
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 43 kb/s
    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 320x240 [SAR 1:1 DAR 4:3], 39 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      rotate          : 180
    Side data:
      displaymatrix: rotation of -180.00 degrees

ऑटो रोटेशन

ffmpeg स्वचालित रूप से किसी भी मौजूदा वीडियो स्ट्रीम रोटेशन मेटाडेटा के अनुसार वीडियो को घुमाएगा।

आपको एक निर्माण की जरूरत है जिसमें 1630224, 2 मई 2015 से, ऑटोरोटेशन सुविधा का उपयोग करने में सक्षम होना शामिल है।

उदाहरण

ffmpeg -i input.mp4 -c:a copy output.mp4

इस व्यवहार को अक्षम करने के लिए -noautorotateविकल्प का उपयोग करें ।


यदि इनपुट में कोई मेटाडेटा नहीं है या यदि आपका ffmpegपुराना है

आपको वीडियो को घुमाने के लिए एक फिल्टर का उपयोग करना होगा, और यदि कोई भी रोटेट मेटाडेटा मौजूद है, तो इसे उदाहरणों में दिखाए अनुसार हटा दिया जाएगा:

उदाहरण

का उपयोग करते हुए ffmpegआप 180 डिग्री बारी बारी से करने के लिए वीडियो फिल्टर का उपयोग कर के तीन विधियों में से एक विकल्प नहीं है।

hflip तथा vflip

ffmpeg -i input.mp4 -vf "hflip,vflip,format=yuv420p" -metadata:s:v rotate=0 \
-codec:v libx264 -codec:a copy output.mkv

transpose

ffmpeg -i input.mp4 -vf "transpose=2,transpose=2,format=yuv420p" \
-metadata:s:v rotate=0 -codec:v libx264 -codec:a copy output.mp4

rotate

यह फिल्टर किसी भी मनमाने कोण पर घूम सकता है और डिग्री के बजाय एक इकाई के रूप में रेडियन का उपयोग करता है। यह उदाहरण example / 1 रेडियन या 180 ° घूमेगा:

ffmpeg -i input.mp4 -vf "rotate=PI:bilinear=0,format=yuv420p" \
-metadata:s:v rotate=0 -codec:v libx264 -codec:a copy output.mp4

आप इसके बजाय डिग्री का उपयोग कर सकते हैं। एक डिग्री π / 180 रेडियन के बराबर है। तो अगर आप 45 ° घूमना चाहते हैं:

ffmpeg -i input.mp4 -vf "rotate=45*(PI/180),format=yuv420p" \
-metadata:s:v rotate=0 -codec:v libx264 -codec:a copy output.mp4

rotateफ़िल्टर का उपयोग करते समय , बाइलाइनियर इंटरपोलेशन को bilinear=090 से विभाज्य कोणों के लिए बंद (उपयोग करके ) किया जाना चाहिए , अन्यथा यह धुंधला दिख सकता है।


टिप्पणियाँ

  • फ़िल्टरिंग के लिए एन्कोडिंग की आवश्यकता होती है। ये उदाहरण H.264 वीडियो आउटपुट बनाते हैं। FFmpeg H.264 वीडियो एन्कोडिंग गाइड को उस गुणवत्ता के मार्गदर्शन के लिए देखें जिसे आप चाहते हैं।

  • क्रोमा सबसम्पलिंग। मैंने शामिल किया है format=yuv420pक्योंकि ffmpegक्रोमा सबमिशनिंग (एनकोडर, इनपुट, ffmpegसंस्करण, आदि के आधार पर ) को कम करने या उससे बचने का प्रयास करेगा । यह विशुद्ध रूप से तकनीकी अर्थों में अच्छा व्यवहार है, लेकिन अधिकांश खिलाड़ी अधिक "उन्नत" क्रोमा सबसम्पलिंग योजनाओं के साथ असंगत हैं। यह उपयोग करने के समान है -pix_fmt yuv420, लेकिन फ़िल्टरचेन में आसानी से स्थित है ।

  • ऑडियो कॉपी करें। -codec:a copyविकल्प होगा प्रतिलिपि स्ट्रीम एन्कोड करने के बजाय (फिर से mux)। ऑडियो को फिर से एनकोड करने का कोई कारण नहीं है यदि आप केवल वीडियो को हेरफेर करना चाहते हैं (जब तक कि आप एक अलग वीडियो प्रारूप में बदलना नहीं चाहते हैं)। इससे समय की बचत होगी क्योंकि एन्कोडिंग में समय लगता है और यह ऑडियो की गुणवत्ता को बनाए रखेगा।


पार्श्व पर घुमाएँ

वैकल्पिक रूप से आप प्लेबैक को घुमा सकते हैं और पुनः एन्कोडिंग से बच सकते हैं। ffplayस्वचालित रूप से घूमेगा:

ffplay input.mp4

अगर कोई डिस्प्लेमेट्रिक्स साइड डेटा नहीं है या मेटाडेटा को घुमाता है तो आप फ़िल्टर का उपयोग कर सकते हैं:

ffplay -vf "hflip,vflip" -i input.mp4

... या अपने पसंदीदा खिलाड़ी को देखें। वीएलसी की तरह उपयोग करने वाले अधिकांश खिलाड़ियों में यह क्षमता है।


मिल रहा ffmpeg

Ffmpeg के पुराने बिल्ड में फ़िल्टरिंग क्षमताओं को शामिल नहीं किया जाता है। देखें FFmpeg डाउनलोड या लिनक्स, ओएस एक्स, और Windows के लिए बनाता है सुविधाजनक सहित अनेक विकल्प के लिए पेज, का उल्लेख FFmpeg विकी के लिए कदम-दर-कदम ffmpeg गाइड संकलन


धन्यवाद, मैं बस कोशिश कर रहा हूं -vf vflipऔर यह एक आकर्षण की तरह काम करता है। लेकिन यह फिर से एनकोड था। मुझे यकीन नहीं है कि मैं आपको सही पढ़ रहा हूं। क्या आप कह रहे हैं कि -vf hflip,vflipफिर से एनकोड नहीं होगा?
लुई

@Louis के लिए ffmpegआवश्यक है कि आप वीडियो और ऑडियो फ़िल्टर का उपयोग करते समय पुनः एनकोड करें। हालाँकि, ffplayप्लेबैक के दौरान कई फिल्टर का भी उपयोग कर सकते हैं जैसा कि मेरे दूसरे उदाहरण में दिखाया गया है।
ल्लगन

आह, यह एक अलग कार्यक्रम था ध्यान नहीं दिया।
लुई

मुझे आश्चर्य है कि अगर वीडियो की गुणवत्ता को छोड़कर कोई अन्य तरीका है -codec:v libx264? क्या ffmpegकेवल उपयोगकर्ता बिना इसे समझे ही एन्कोडिंग का उपयोग कर सकता है?
सादी

1
@Louis डिग्री के बजाय रेडियन को एक इकाई के रूप में rotateउपयोग करता है । मुझे लगता है कि लोग डिग्री से अधिक परिचित हैं, इसलिए मैंने उदाहरण में डिग्री का उपयोग करने का तरीका दिखाने का प्रयास किया। एक डिग्री π / 180 रेडियन के बराबर है। इसलिए यदि आप 45 ° घुमाना चाहते हैं तो बस उपयोग करें । rotate="45*(PI/180)"
१०:१३ बजे

7

FFMPEG ने 2015 में v2.7 रिलीज में "रोटेट" मेटाडेटा के साथ ऑटो रोटेट इनपुट वीडियो स्रोतों के लिए डिफ़ॉल्ट व्यवहार को बदल दिया ।

यदि आप जानते हैं कि आपकी स्क्रिप्ट या कमांड 2.7 से अधिक पुराने ffmpeg रिलीज़ पर कभी नहीं चलेगी, तो सबसे सरल उपाय मेटाडेटा पर आधारित किसी भी कस्टम रोटेशन को हटाना है।

अन्य मामलों के लिए आप अपने कस्टम रोटेशन कोड को रख कर और -noautorotateफ्लैग को जोड़कर भविष्य में प्रूफ कर सकते हैं (यह पुराने संस्करणों में समर्थित है जो उस समय भी बनाए हुए थे)।


2

मीडिया प्लेयर जो एक डिकोडिंग बैकेंड के रूप में ffmpeg का उपयोग करते हैं, वे भी इसके सभी फिल्टर का उपयोग कर सकते हैं। इस स्क्रीनशॉट को "ऑफसेट और फ्लिप" फ़िल्टर के साथ देखें।यहाँ छवि विवरण दर्ज करें

वैकल्पिक रूप से, यदि आप अपने वीडियो को फिर से एनकोड करना चाहते हैं, तो Stackoverflow पर FFmpeg के साथ रोटेटिंग वीडियो देखें


1
दुर्भाग्य से transposeफिल्टर FFmpeg के साथ घूमने वाले वीडियो में संदर्भित 180 ° तक नहीं घूमेगा जहाँ तक मैं बता सकता हूँ।
ल्लगन

1
@LordNeckbeard सीधे नहीं, लेकिन आप transposeप्रभाव को प्राप्त करने के लिए एक साथ दो फ़िल्टर श्रृंखला कर सकते हैं ।
evilsoup

1
@evilsoup आह, हाँ, मैंने ऐसा नहीं सोचा था। स्थानिक तर्क कठिन है; चलिए खरीदारी करने चलें। एक उदाहरण के साथ मेरे जवाब को अपडेट करने के लिए स्वतंत्र महसूस करें।
ल्लगन

1

निम्नलिखित एक बैश स्क्रिप्ट है, जो "फिक्स्ड फ़ाइल्स" के तहत निर्देशिका संरचना के साथ फ़ाइलों को आउटपुट करेगी। यह iOS वीडियो को रूपांतरित और घुमाता है और AVI को ट्रांसकोड करता है। स्क्रिप्ट एक्सफ़ाल्टूल और ffmpeg दोनों को स्थापित करने पर निर्भर करती है ।

#!/bin/bash

# rotation of 90 degrees. Will have to concatenate.
#ffmpeg -i <originalfile> -metadata:s:v:0 rotate=0 -vf "transpose=1" <destinationfile>
#/VLC -I dummy -vvv <originalfile> --sout='#transcode{width=1280,vcodec=mp4v,vb=16384,vfilter={canvas{width=1280,height=1280}:rotate{angle=-90}}}:std{access=file,mux=mp4,dst=<outputfile>}\' vlc://quit

#Allowing blanks in file names
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

#Bit Rate
BR=16384

#where to store fixed files
FIXED_FILES_DIR="fixedFiles"
#rm -rf $FIXED_FILES_DIR
mkdir $FIXED_FILES_DIR

# VLC
VLC_START="/Applications/VLC.app/Contents/MacOS/VLC -I dummy -vvv"
VLC_END="vlc://quit"


#############################################
# Processing of MOV in the wrong orientation
for f in `find . -regex '\./.*\.MOV'` 
do
  ROTATION=`exiftool "$f" |grep Rotation|cut -c 35-38`
  SHORT_DIMENSION=`exiftool "$f" |grep "Image Size"|cut -c 39-43|sed 's/x//'`
  BITRATE_INT=`exiftool "$f" |grep "Avg Bitrate"|cut -c 35-38|sed 's/\..*//'`
  echo Short dimension [$SHORT_DIMENSION] $BITRATE_INT

  if test "$ROTATION" != ""; then
    DEST=$(dirname ${f})
    echo "Processing $f with rotation $ROTATION in directory $DEST"
    mkdir -p $FIXED_FILES_DIR/"$DEST"

    if test "$ROTATION" == "0"; then
      cp "$f" "$FIXED_FILES_DIR/$f"

    elif test "$ROTATION" == "180"; then
#      $(eval $VLC_START \"$f\" "--sout="\'"#transcode{vfilter={rotate{angle=-"$ROTATION"}},vcodec=mp4v,vb=$BR}:std{access=file,mux=mp4,dst=\""$FIXED_FILES_DIR/$f"\"}'" $VLC_END )
      $(eval ffmpeg -i \"$f\" -vf hflip,vflip -r 30 -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\")

    elif test "$ROTATION" == "270"; then
      $(eval ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=2,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" )

    else
#      $(eval $VLC_START \"$f\" "--sout="\'"#transcode{scale=1,width=$SHORT_DIMENSION,vcodec=mp4v,vb=$BR,vfilter={canvas{width=$SHORT_DIMENSION,height=$SHORT_DIMENSION}:rotate{angle=-"$ROTATION"}}}:std{access=file,mux=mp4,dst=\""$FIXED_FILES_DIR/$f"\"}'" $VLC_END )
      echo ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=1,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" 
      $(eval ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=1,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" )

    fi

  fi

echo 
echo ==================================================================
sleep 1
done

#############################################
# Processing of AVI files for my Panasonic TV
# Use ffmpegX + QuickBatch. Bitrate at 16384. Camera res 640x424
for f in `find . -regex '\./.*\.AVI'` 
do
  DEST=$(dirname ${f})
  DEST_FILE=`echo "$f" | sed 's/.AVI/.MOV/'`
  mkdir -p $FIXED_FILES_DIR/"$DEST"
  echo "Processing $f in directory $DEST"
  $(eval ffmpeg -i \"$f\" -r 20 -acodec libvo_aacenc -b:a 128k -vcodec mpeg4 -b:v 8M -flags +aic+mv4 \"$FIXED_FILES_DIR/$DEST_FILE\" )
echo 
echo ==================================================================

done

IFS=$SAVEIFS

1

मुझे इसे संपादित करने के लिए कहा गया था, पाठ को प्रस्तुत करने के लिए, जो समाधान मुझे अंततः मिला वह पाठ के अंत में था। तो, अंत में आपको दो लगातार ffmpeg कमांड मिलेंगे जिन्होंने मेरे वीडियो को सही ओरिएंटेशन के लिए सफलतापूर्वक घुमाया। पाठ पूर्ववर्ती था जो जितना संभव हो उतना जानकारी देने के लिए था, जैसा कि मैंने अन्य संदेशों को देखा था जो जानकारी की कमी के कारण फटकार लगा रहे थे। वैसे भी मुझे उम्मीद है कि यह दूसरों को ffmpeg का उपयोग करने में मदद करता है। यह मुझे ffmpeg में hflip और vflip का उद्देश्य लगता है, न्यूनतम, भ्रामक है, और जो मुझे उम्मीद है उसके विपरीत है।

फ़ाइल merlin.mov एक वीडियो की एक प्रति है जिसे मैंने अपने iPhone पर लिया है, पहले ड्रॉपबॉक्स पर अपलोड किया गया, फिर अपने लैपटॉप पर डाउनलोड किया गया, रनिंग टाइमबॉक्स:

    $ uname -a
    Linux gazelle 3.13.0-135-generic #184-Ubuntu SMP
    Wed Oct 18 11:55:51 UTC 2017 x86_64 x86_64 x86_64
    GNU/Linux

मुझे पता है कि मुझे USB के माध्यम से अपने iPhone को माउंट करने में सक्षम होना चाहिए और फ़ाइलों को सीधे कॉपी करना चाहिए, लेकिन यह काम नहीं किया; मेरा लैपटॉप पहचान लेगा कि iphone जुड़ा हुआ है, लेकिन वह अपने फाइल सिस्टम को माउंट नहीं करेगा, और मुझे अपने iPhone पर लैपटॉप पर "विश्वास" करने का कोई संकेत नहीं मिला।

ड्रॉपबॉक्स से अपने लैपटॉप में कॉपी करने के लिए मैं जो कमांड इस्तेमाल करता था वह यह था:

    cp ~/Dropbox/Camera\ Uploads/Video\ Nov\ 02\,\ 9\ 41\ 55\ AM.mov \
            merlin.mov

मूल फ़ाइल वीडियो 1920 x 1080 कोडेक HEVC / H.265 Framerate 30 / sec, बिटरेट 8140 केबीपीएस, ऑडियो कोडेक एमपीईजी -4 एएसी ऑडियो चैनल स्टीरियो, नमूना दर 44100 हर्ट्ज, बिटरेट 85 केबीपीएस है। जब मैं इसे अपने iPhone पर खेलता हूं तो यह ठीक से उन्मुख होता है, और ध्वनि सिंक्रनाइज़ होती है। जब मैं इसे अपने लैपटॉप पर वीडियो में खेलता हूं तो यह दोनों उल्टा हो जाता है और क्षैतिज रूप से उलट हो जाता है, और ध्वनि सिंक्रनाइज़ नहीं होती है। यहाँ आंशिक उत्पादन "ffmpeg -i merlin.mov" से लिया गया है:

    Metadata:
    rotate          : 180
    creation_time   : 2017-11-02T14:41:55.000000Z
    handler_name    : Core Media Data Handler
    encoder         : HEVC

यहाँ "ffmpeg -version" से आउटपुट की पहली पंक्ति है:

ffmpeg संस्करण 3.3.3 कॉपीराइट (c) 2000-2017 FFmpeg डेवलपर्स

निम्नलिखित पार्श्व ने लंबवत और क्षैतिज रूप से दोनों को उल्टा कर दिया, हालांकि यह MPEG-4 वीडियो (वीडियो / mp4) में परिवर्तित हो गया और ध्वनि को सिंक्रनाइज़ किया गया:

    ffmpeg -i merlin.mov -vf 'hflip,vflip' merlinhflipvflip.mp4

निम्नलिखित उल्टा है, तो पार्श्व सीधा है, ध्वनि सिंक्रनाइज़, और MPEG-4 में परिवर्तित, लेकिन क्षैतिज गलत तरीके से अंत के लिए फ़्लिप छोड़ दिया (यह कोई टाइपो नहीं है, मैंने 'hflip' निर्दिष्ट किया है):

    ffmpeg -i merlin.mov -vf 'hflip' merlinhflip.mp4

निम्नलिखित ने क्षैतिज को सही अभिविन्यास के लिए फ़्लिप किया, लेकिन पार्श्व को उल्टा छोड़ दिया:

    ffmpeg -i merlin.mov -vf 'vflip' merlinvflip.mp4

निम्नलिखित के लिए कोई प्रभाव नहीं लग रहा था:

    ffmpeg -i merlin.mov -vf 'hflip' merlinhflip.mp4
    ffmpeg -i merlinhflip.mp4 -vf 'vflip' merlin2stepA.mp4

मैंने यह भी कोशिश की, मुझे superuser.com पर मिली एक कमांड के आधार पर। इसने ध्वनि को सफलतापूर्वक सिंक्रनाइज़ किया, और MPEG-4 में परिवर्तित कर दिया, लेकिन क्षैतिज और ऊर्ध्वाधर अभिविन्यास दोनों गलत रहे:

    ffmpeg -i merlin.mov \
            -vf "rotate=PI:bilinear=0,format=yuv420p" \
            -metadata:s:v rotate=0 -codec:v libx264 \
            -codec:a copy merlinrotate.mp4

मैंने यह भी कोशिश की, जो अभिविन्यास को सही करने के मामले में भी काम नहीं किया:

    ffmpeg -noautorotate -i merlin.mov merlinnoautorotate.mp4

निम्नलिखित 2-चरण प्रक्रिया को अंततः वही मिला जो मुझे चाहिए था; ऊर्ध्वाधर और क्षैतिज दोनों फ़्लिप, ध्वनि सिंक्रनाइज़ किए गए, और प्रारूप MPEG-4 में परिवर्तित हो गए (फिर, यह कोई टाइपो नहीं है; मैंने दोनों आदेशों में hflip का उपयोग किया है):

    ffmpeg -i merlin.mov -vf 'hflip' merlinhflip.mp4
    ffmpeg -i merlinhflip.mp4 -vf 'hflip' merlin2stepB.mp4

जब तक - यह मेरे लिए एक जवाब की तरह दिखता है - वह बस अपनी समस्या को सुलझाने की प्रक्रिया के माध्यम से चला गया है।
जर्नीमैन गीक

@JourneymanGeek वास्तव में आप सही हैं। अब मैं उनके अंतिम पैराग्राफ में देखता हूं कि निम्नलिखित 2-चरण प्रक्रिया को आखिरकार वही मिला जो मैं चाहता था । अच्छी नज़र। (मैंने वास्तव में पूरी पोस्ट पढ़ी थी, लेकिन मेरी आँखें शायद उस समय तक चमक गई थीं जब तक मैं वहां पहुंच गया था)।
मैं कहता हूं कि मोनिका

अच्छा काम आपके उत्तर को बेहतर बनाता है। आपने अपने उत्तर के लिए पर्याप्त विवरण शामिल करने के लिए अच्छा काम किया है। जैसा कि आप साइट के चारों ओर एक नज़र रखते हैं, यह देखने का प्रयास करें कि अन्य अच्छे उत्तर विस्तार के साथ स्पष्टता को कैसे संतुलित करते हैं।
मैं कहता हूं कि मोनिका

0

यहाँ कदम हैं:

  1. सबसे पहले अपने विडियो फ़ाइल को क्विकटाइम में खोलें। आप या तो पहले आग लगा सकते हैं, पहले "फाइल" पर जाएं और फिर "ओपन फाइल" पर जाएं। या आप फ़ाइल को राइट-क्लिक कर सकते हैं, "ओपन विथ" चुनें और फिर क्विकटाइम चुनें।

  2. एक बार वीडियो खुला होने के बाद "संपादित करें" पर क्लिक करें और फिर आप सीधे नीचे दिए गए रोटेट और फ्लिप विकल्पों को देखेंगे

  3. एक बार जब आप अपने इच्छित अभिविन्यास को बंद कर देते हैं, तो आपको अपने वीडियो को आपके द्वारा जोड़े गए नए परिवर्तनों के साथ निर्यात करना होगा। आपको क्विकटाइम में "फ़ाइल" मेनू के तहत "निर्यात" विकल्प मिलेगा।

फ़ाइल सेटिंग्स चुनें जिसे आप निर्यात करना चाहते हैं और निर्यात बंद करने के लिए "ओके" पर क्लिक करें।

जब निर्यात ऑपरेशन पूरा हो जाता है, तो आपको अपनी नई फ़ाइल मिल जाएगी, जहाँ आपने इसे सही ओरिएंटेशन के साथ सहेजने के लिए चुना है!

इस पूरे फिक्स को पूरा होने में मुझे 5 मिनट से भी कम समय लगा, लेकिन वीडियो की लंबाई के आधार पर, इसमें बहुत अधिक समय (या कम, फिर से, यह भिन्न होता है) हो सकता है।

ब्लॉग स्रोत


0
ffmpeg -i input.mp4 -filter:v "transpose=1,transpose=1" output.mp4

मेरे लिए छल किया। यह निश्चित नहीं है कि संक्रमण फिल्टर एक बार में 180 डिग्री तक घूमने की संभावना क्यों नहीं प्रदान करता है, लेकिन जो भी हो। अधिक जानकारी के लिए डॉक्स की जाँच करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.