एक वीडियो को क्रॉप और आकार बदलकर एक निश्चित स्क्रीन आकार में बदलें


14

मैंने खुद यह पता लगाने की कोशिश की है, लेकिन विकल्पों का असंख्य मुझे चकित करता है।

मैं आदर्श रूप में या तो उपयोग करना चाहते हैं ffmpegया mencoder(या कुछ और, लेकिन उन दो मैं मैं काम कर रहा है पता है) एक निश्चित स्क्रीन आकार के लिए किसी भी आने वाली वीडियो कन्वर्ट करने के लिए।

यदि वीडियो व्यापक या इसके लिए बहुत छोटा है, तो वीडियो को केंद्र में रखें। यदि यह सही आकार नहीं है, तो आकार या नीचे इसे ठीक स्क्रीन आकार बनाने के लिए।

एक MP3 ऑडियो ट्रैक के साथ XVID AVI में सटीक अंतिम चीज़ जो मुझे चाहिए वह 720x480 है।

मैंने बहुत सारे पृष्ठ दिखाए हैं कि कैसे अधिकतम रिज़ॉल्यूशन का आकार बदलना है, लेकिन मुझे उस रिज़ॉल्यूशन के लिए वीडियो की आवश्यकता है (अतिरिक्त भागों के साथ, कोई काली पट्टियाँ नहीं)।

क्या कोई मुझे कमांड लाइन चलाने के लिए कह सकता है - या कम से कम मुझे वहां कुछ / सबसे अधिक रास्ता मिल सकता है? यदि इसे कई कमांड लाइन (रन एक्स को रिज़ॉल्यूशन प्राप्त करने के लिए, इस गणना को करने और फिर उस गणना के आउटपुट के साथ वाई को चलाने की आवश्यकता है) तो मैं इसे स्क्रिप्ट कर सकता हूं।

जवाबों:


22

इस तरह से प्रत्येक मामले के लिए उचित मापदंडों के साथ काम करना चाहिए:

नोट: मूल उत्तर इस लिंक में पोस्ट किया गया था: मैं ffmpeg के साथ वीडियो कैसे बना सकता हूं? जो मूल रूप से मेरे द्वारा पोस्ट किया गया है और इसे ffmpeg के सबसे हाल के संस्करणों में नवीनतम विकल्पों में अपडेट करने के लिए कई बार संपादित किया गया है। बहुत धन्यवाद करने के लिए slhck , जोनाथन। , एंटोन रुडस्को , लॉर्डनेकबर्ड और भविष्य के रखवाले


FFmpeg के हाल के संस्करणों में, 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 । विकास बहुत सक्रिय है और एक प्राचीन वस्तु का उपयोग करने का कोई कारण नहीं है।


के लिए अतिरिक्त अंक पूर्वावलोकन के साथ ffplayजो का उपयोग कर बनाता है ffmpegव्यवहार में वीडियो स्क्रीन आकार व्यावहारिक फसल के लिए।
स्पीडकोड 5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.