मैं ffmpeg के साथ वीडियो कैसे क्रॉप कर सकता हूं?


172

मेरे पास एक स्क्रीन रिकॉर्डिंग की एक MP4 फ़ाइल है जिसे मुझे नीचे फसल करने की आवश्यकता है। एडोब प्रीमियर या फाइनल कट जैसे महंगे टूल का उपयोग किए बिना मैं इसे कैसे पूरा कर सकता हूं? मैं पसंद करता हूं ffmpegक्योंकि मैंने पहले भी इसका इस्तेमाल किया है।

जवाबों:


264

cropफ़िल्टर का उपयोग करें :

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

विकल्प इस प्रकार हैं:

  • out_w आउटपुट आयत की चौड़ाई है
  • out_h आउटपुट आयत की ऊंचाई है
  • xऔर yआउटपुट आयत के ऊपरी बाएँ कोने को निर्दिष्ट करें

मूल छवि

मूल छवि
मूल 320x240 छवि

उदाहरण 1

80x60

80 × 60 अनुभाग की फसल के लिए, स्थिति से शुरू (200, 100):

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
  • इस उदाहरण में ऑडियो को स्ट्रीम कॉपी किया जाता है, इसलिए री-एन्कोडिंग से बचा जाता है।

उदाहरण 2

निचला दायाँ भाग

नीचे सही तिमाही फसल के लिए:

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

यह समान है:

ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4

जो निम्नानुसार है:

ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
  • आप इनपुट छवि के आकार का उल्लेख कर सकते हैं in_wऔर in_hजैसा कि इस पहले उदाहरण में दिखाया गया है। आउटपुट चौड़ाई और ऊँचाई का उपयोग out_wऔर के साथ भी किया जा सकता है out_h

उदाहरण 3

ऊपर से 20 पिक्सेल, और नीचे से 20 पिक्सेल

ऊपर से 20 पिक्सेल, और नीचे से 20 पिक्सेल:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • फ़िल्टर स्वचालित रूप से फसल को केंद्रित करेगा यदि xऔर yइस उदाहरण में जैसे छोड़ा गया हो।

का पूर्वावलोकन

आप एक फसल (हेह हे) ले सकते हैं और इसका पूर्वावलोकन कर सकते हैं ffplay:

ffplay -i input -vf "crop=in_w:in_h-40"

इस तरह से आप अपनी फसल को कूटबद्ध करने, देखने, दोहराने की आवश्यकता के बिना प्रयोग और समायोजित कर सकते हैं।

टिप्पणियाँ

  • crop फ़िल्टर प्रलेखन

  • MP4 के लिए डिफ़ॉल्ट एनकोडर आपके निर्माण के आधार पर libx264(H.264 वीडियो) या mpeg4(MPEG-4 भाग 2 वीडियो) है ffmpeg। अधिक जानकारी के लिए देखें FFmpeg Wiki: H.264 वीडियो एन्कोडिंग गाइड

  • क्रॉपिंग और री-एन्कोडिंग के बजाय, प्लेबैक पर क्रॉपिंग पर विचार करें। यह किसी भी खिलाड़ी के उपयोग के लायक है।

  • प्राचीन ffmpegइस्तेमाल किया बनाता है -croptop, -cropbottom, -cropleft, -croprightके बजाय विकल्प cropफिल्टर। अगर आपके लिए भी यही स्थिति है तो आधुनिक हो जाइएffmpeg । विकास बहुत सक्रिय है और एक प्राचीन वस्तु का उपयोग करने का कोई कारण नहीं है।


2
यह अब 'एवोकन' के साथ काम करता है।
जॉसे

मेरे पास 1923x1080 है और 1920x1080 चाहिए। यह सराहा मैंने कोशिश की: /Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4लेकिन मूल फिल्म वापस आ गई है।
János

@ जॉइस जेएफवाई एवोकन काम का हिस्सा है - एफएफएमपी का एक कांटा
और्रीबाक

1
इस तकनीक का उल्लेख करने के लिए ( cropफिल्टर के साथ ) वीडियो को फिर से एन्कोड करता है, देखें stackoverflow.com/questions/33378548/… यदि आपके लिए फिर से एन्कोडिंग मायने रखती है
9

1
पुराने -filter:vको अधिक तारीख तक बदलने के लिए और टाइप करने के लिए सरल बनाने के लिए संपादित किया गया -vf। चीयर्स!
एल्डर गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.