वीडियो ट्रिमर

प्रारंभ और अंत सेट करके वीडियो फ़ाइलें ट्रिम करें। त्वरित या सटीक मोड।

आपकी फ़ाइलें कभी आपके डिवाइस से नहीं जातीं

यहाँ वीडियो फ़ाइल खींचकर छोड़ें

या ब्राउज़ करने के लिए क्लिक करें · MP4, WebM, MOV, AVI, MKV (अधिकतम 2 GB)

यह कैसे काम करता है

  1. वीडियो फ़ाइल लोड करें: अपने डिवाइस से कोई भी MP4, WebM, MOV या AVI फ़ाइल चुनें, कोई सर्वर अपलोड नहीं।
  2. ट्रिम बिंदु सेट करें: सटीक कट के लिए टाइमलाइन हैंडल का उपयोग करें या सटीक आरंभ और अंत समय दर्ज करें।
  3. ट्रिम का पूर्वावलोकन करें: निर्यात से पहले कट की पुष्टि करने के लिए चयनित खंड चलाएँ।
  4. क्लिप डाउनलोड करें: ट्रिम किया गया वीडियो सीधे अपने डिवाइस पर मूल प्रारूप में निर्यात करें।

वीडियो ट्रिमर क्यों इस्तेमाल करें?

अधिकांश वीडियो एडिटिंग ऐप को इंस्टॉलेशन, सदस्यता या क्लाउड सर्वर अपलोड की आवश्यकता होती है। यह ब्राउज़र ट्रिमर कुछ भी आवश्यक नहीं।

समर्थित प्रारूप

काटना, ट्रिम करना, विभाजित करना, और शब्द क्यों मायने रखते हैं

आम बोलचाल में «ट्रिम», «कट» और «स्प्लिट» परस्पर बदले जा सकते हैं। वीडियो उपकरणों में वे तीन अलग संचालन का वर्णन करते हैं। एक ट्रिम शुरुआत और/या अंत से सामग्री हटाता है और बीच में सब कुछ रखता है। संपादकीय शब्दावली में एक कट एक तैयार संपादन में दो आसन्न शॉट के बीच की सीमा है। एक स्प्लिट एक क्लिप लेता है और इसे एक चुने हुए बिंदु पर दो क्लिप में विभाजित करता है। उपयोगकर्ता के दृष्टिकोण से, यह टूल एक ट्रिम करता है: आप एक शुरुआत और अंत निर्धारित करते हैं, और यह जो बीच में है उसे रखता है।

दिलचस्प प्रश्न यह है कि यह अनचाहे बाइट्स को कैसे हटाता है। दो मौलिक रूप से अलग दृष्टिकोण अलग फ़ाइलें उत्पन्न करते हैं।

Fast (स्ट्रीम कॉपी) बनाम Precise (री-एन्कोडिंग)

स्ट्रीम कॉपी, «Fast» मोड, चित्र को बिल्कुल नहीं देखता। यह कंटेनर खोलता है, अनुरोधित समय विंडो के अनुरूप बाइट रेंज खोजता है, उन बाइट्स को शब्दशः एक नए कंटेनर में कॉपी करता है, इंडेक्स और टाइमस्टैम्प को ठीक करता है, और परिणाम लिखता है। कोई डिकोडिंग नहीं, कोई री-एन्कोडिंग नहीं, कोई गुणवत्ता हानि नहीं। आधुनिक मशीन पर 500 MB की H.264 फ़ाइल को इस तरह एक सेकंड से बहुत कम में ट्रिम किया जा सकता है क्योंकि काम मूल रूप से फ़ाइल I/O है, अंकगणित नहीं। पकड़: कॉपी संचालन केवल कुछ फ़्रेमों पर शुरू और समाप्त हो सकता है, विशेष रूप से I-frames: और वे आवश्यक रूप से वहाँ नहीं हैं जहाँ आपने इंगित किया। तो परिणामी क्लिप की शुरुआत आगे या पीछे शून्य से दस सेकंड तक स्थानांतरित हो सकती है, फ़ाइल मूल रूप से एन्कोड करते समय उपयोग की गई कोडेक सेटिंग्स पर निर्भर करती है।

री-एन्कोडिंग, «Precise» मोड, संपूर्ण प्रभावित अनुभाग को कच्चे पिक्सेल में डिकोड करता है, अनुरोधित शुरुआत से पहले और अनुरोधित अंत के बाद के फ़्रेम्स को फेंकता है, फिर बाकी को री-एन्कोड करता है। यह एक क्लिप उत्पन्न करता है जो ठीक चुने हुए फ़्रेम पर शुरू और समाप्त होता है (उद्योग शब्दावली में फ़्रेम-सटीक) पूर्ण एन्कोड की कीमत पर। पूर्ण एन्कोड स्ट्रीम कॉपी से सैकड़ों या हज़ारों गुना धीमा है और एक पीढ़ी का कम्प्रेशन हानि पेश करता है क्योंकि हानिकारक कोडेक idempotent नहीं हैं: समान चित्र को एन्कोड, डिकोड और री-एन्कोड करने से आपको बिल्कुल वही चित्र वापस नहीं मिलता। हानि उच्च बिटरेट पर छोटी है लेकिन शून्य नहीं है, और यदि समान फ़ाइल को बार-बार ट्रिम किया जाता है तो यह संचित होती है।

Fast पथ उन 95% मामलों के लिए सही है जहाँ उपयोगकर्ता परिचय, बहिर्गमन या मोटे शुरुआत और अंत सामग्री को हटा रहा है और परवाह नहीं करता कि कट उन्होंने जहाँ इंगित किया उससे आधा सेकंड दूर है। Precise पथ सही उपकरण है जब कट को एक विशिष्ट फ़्रेम पर उतरना होता है, एक पंचलाइन, एक ध्वनि प्रभाव, एक डाउनस्ट्रीम संपादन के लिए सिंक मार्क।

I-फ़्रेम, P-फ़्रेम, B-फ़्रेम, और GOP

प्रत्येक आधुनिक वीडियो कोडेक (H.264, H.265 (HEVC), VP9, AV1) इस तथ्य का उपयोग करके वीडियो को कम्प्रेस करता है कि लगातार फ़्रेम लगभग समान चित्र होते हैं। प्रत्येक फ़्रेम को स्वतंत्र रूप से एन्कोड करने के बजाय, कोडेक फ़्रेमों के एक छोटे अंश को पूर्ण में और बाकी को अपने पड़ोसियों से अंतर के रूप में एन्कोड करता है। पूर्ण फ़्रेम I-frames हैं (इंट्रा-कोडेड)। अंतर फ़्रेम दो प्रकार के होते हैं: P-frames (केवल पहले के फ़्रेमों से अनुमानित) और B-frames (द्विप्रेडिक्टिवली कोडेड, वे पहले और बाद के फ़्रेमों दोनों को संदर्भित कर सकते हैं)। अनुक्रम I, फिर P और B फ़्रेमों की एक श्रृंखला, फिर एक और I, को Group of Pictures, या GOP कहा जाता है। GOP के भीतर, कोई फ़्रेम शुरुआत में I-frame के संदर्भ के बिना डिकोड नहीं किया जा सकता। GOPs के पार कोई निर्भरता नहीं है: एक प्लेयर किसी भी I-frame पर फ़ाइल में प्रवेश कर सकता है और वहाँ से डिकोड करना शुरू कर सकता है।

यही कारण है कि स्ट्रीम कॉपी ट्रिमिंग कीफ़्रेम सीमाओं तक सीमित है। एक नई फ़ाइल को गैर-I-frame पर शुरू करने के लिए आपको GOP की शुरुआत में I-frame को डिकोड करना होगा, फिर अपने चुने हुए बिंदु तक हर P और B फ़्रेम को डिकोड करना होगा, फिर लिखना शुरू करना होगा, जो ठीक वही है जो Precise पथ करता है। एक विशिष्ट H.264 फ़ाइल दो से चार सेकंड की GOP लंबाई का उपयोग करती है। FFmpeg का libx264 लगभग 250 फ़्रेम (25 fps पर ~10 सेकंड, 30 fps पर ~8.3 सेकंड) पर डिफ़ॉल्ट होता है। स्ट्रीमिंग प्रदाता HLS और DASH सेगमेंट सीमाओं के साथ संरेखित करने के लिए इसे दो सेकंड तक कम कर देते हैं। H.265 लंबे GOPs को अधिक कुशलतापूर्वक सहन करता है और अक्सर चार से दस सेकंड पर कॉन्फ़िगर किया जाता है। VP9 (libvpx) अधिकतम कीफ़्रेम दूरी 240 फ़्रेमों पर डिफ़ॉल्ट होता है। AV1 आमतौर पर 2-6 सेकंड की सीमा में आता है। व्यावहारिक निहितार्थ: एक उपयोगकर्ता जो मिनट 1 सेकंड 30 पर कट मांगता है, फ़ाइल मूल रूप से किस के साथ एन्कोड किया गया था पर निर्भर करते हुए, मिनट 1 सेकंड 24 से मिनट 1 सेकंड 32 के बीच कहीं भी शुरू होने वाले स्ट्रीम कॉपी परिणाम के साथ समाप्त हो सकता है।

FFmpeg का संक्षिप्त इतिहास

FFmpeg को 20 दिसंबर 2000 को Fabrice Bellard द्वारा शुरू किया गया था, फ्रांसीसी कंप्यूटर वैज्ञानिक जिन्होंने पहले QEMU वर्चुअलाइज़र और TCC C कंपाइलर लिखा था। उन्होंने Gérard Lantau उपनाम के तहत कमिट किया। नाम «FF» fast forward के लिए और «mpeg» कोडेक के परिवार के लिए आता है जिसे यह मूल रूप से संभालने के लिए डिज़ाइन किया गया था। आर्किटेक्चर ने शुरुआत से ही कोडेक कार्यान्वयन (libavcodec) को कंटेनर पार्सिंग (libavformat) से अलग किया, यही कारण है कि FFmpeg वर्षों में इतनी आसानी से विस्तारित हुआ है। Bellard ने 2004 में Michael Niedermayer को रखरखाव सौंप दिया। 2011 में परियोजना एक प्रसिद्ध फोर्क से बच गई जब डेवलपर्स के एक समूह ने शासन असहमति पर Libav नामक एक परियोजना को अलग कर दिया; दोनों परियोजनाएँ 2018 तक आत्मा में (यदि औपचारिक रूप से नहीं) फिर से विलीन हो गईं, Libav के अधिकांश सुधार FFmpeg में वापस अपस्ट्रीम हो गए।

आज FFmpeg दुनिया के वीडियो के एक विशाल हिस्से के नीचे मूक अवसंरचना है, YouTube, Netflix, VLC, OBS Studio, Audacity, HandBrake, Plex और अधिकांश पेशेवर प्रसारण पाइपलाइनें इसे अपने स्टैक में कहीं उपयोग करती हैं। 2026 तक वर्तमान स्थिर रिलीज़ 8.x श्रृंखला में है। लाइसेंस LGPL-2.1-or-later या GPL-2.0-or-later दोहरा है जो संकलन पर सक्षम वैकल्पिक घटकों पर निर्भर करता है।

FFmpeg.wasm, ब्राउज़र में FFmpeg

नवंबर 2020 में Jerome Wu नामक एक ताइवानी इंजीनियर: Tesseract OCR इंजन के Tesseract.js पोर्ट के लिए पहले से ही जाने जाते हैं, ने FFmpeg.wasm का पहला रिलीज़ प्रकाशित किया, FFmpeg का WebAssembly संकलन जो पूरी तरह से ब्राउज़र के अंदर चलता है। उन्होंने 4 नवंबर 2020 को परियोजना की घोषणा की। 2026 तक परियोजना महत्वपूर्ण रूप से परिपक्व हो गई है, वर्तमान रिलीज़ 0.12 श्रृंखला में और सक्रिय समुदाय फोर्क्स के साथ। npm पैकेज अब कोर WebAssembly बाइनरी, JavaScript रैपर जो मुख्य थ्रेड और WASM चलाने वाले वर्कर थ्रेड के बीच संदेश-पासिंग को संभालता है, और एक वर्चुअल फ़ाइल सिस्टम जो उपयोगकर्ता को सामान्य JavaScript Blob और File ऑब्जेक्ट्स का उपयोग करके फ़ाइलों को अंदर और बाहर ले जाने देता है, बंडल करता है।

परियोजना की एक कुख्यात आवश्यकता है जो हर डेवलपर को पकड़ती है जो इसे पहली बार तैनात करने का प्रयास करता है। FFmpeg.wasm SharedArrayBuffer का उपयोग करता है, JavaScript API जो मुख्य थ्रेड और वर्कर थ्रेड्स के बीच मेमोरी साझा करने के लिए है। 2018 में Spectre और Meltdown CPU भेद्यताओं के खुलासे के बाद, ब्राउज़रों ने स्थितियाँ कठोर कीं: पेज को दो विशिष्ट HTTP हेडर के साथ सर्व किया जाना चाहिए, Cross-Origin-Opener-Policy: same-origin और Cross-Origin-Embedder-Policy: require-corp, और पेज पर प्रत्येक क्रॉस-ऑरिजिन संसाधन को या तो CORS के माध्यम से ऑप्ट इन करना चाहिए या समान ऑरिजिन से आना चाहिए। उन हेडर के बिना, SharedArrayBuffer undefined है और FFmpeg.wasm आरंभ नहीं होगा। Chrome इसे सख्ती से लागू करता है; Firefox और Edge Chrome का अनुसरण करते हैं; Safari संस्करण 15.2 से जुड़ा।

कंटेनर प्रारूप

एक कंटेनर फ़ाइल आवरण है। यह चित्र को एन्कोड नहीं करता; यह एन्कोडेड चित्रों और ऑडियो को समय और मेटाडेटा के साथ पैकेज करता है।

ब्राउज़र वीडियो API, वास्तव में क्या उपलब्ध है

HTML5 <video> तत्व 28 अक्टूबर 2014 को W3C अनुशंसा बन गया, लगभग एक दशक के विकास के बाद। HTML5 से पहले, वीडियो एम्बेड करने का मतलब Adobe Flash या Microsoft Silverlight था। तत्व स्वयं कोई संपादन API नहीं है, कोई video.trim(start, end) विधि नहीं है, कोई video.cut() नहीं है, खंड निकालने का कोई अंतर्निहित तरीका नहीं है। प्ले, पॉज़ और सीक से परे कुछ भी करने के लिए, डेवलपर को निचले-स्तरीय API तक पहुँचना होगा या FFmpeg को पेज में संकलित करना होगा।

Media Source Extensions (MSE) एक W3C विशिष्टता है जो JavaScript को बाइट स्ट्रीम का निर्माण करने देती है जो <video> तत्व को फीड करती है। 2014 में Candidate Recommendation पर पहुँची; YouTube द्वारा सितंबर 2013 के रूप में और Netflix द्वारा जून 2014 से उत्पादन में उपयोग की गई। इसका प्राथमिक उपयोग केस अनुकूली स्ट्रीमिंग है (यह डिकोडेड फ़्रेम्स को उजागर नहीं करता, इसलिए यह अकेले री-एन्कोडिंग नहीं कर सकता। WebCodecs निचला-स्तर का विकल्प है) VideoDecoder और VideoEncoder इंटरफेस के साथ ब्राउज़र के अंतर्निहित वीडियो और ऑडियो कोडेक कार्यान्वयन को सीधे JavaScript को उजागर करता है। WebCodecs आधिकारिक तौर पर Chrome 93 में origin trial के बाद 21 सितंबर 2021 को Chrome 94 में शिप हुआ, और तब से Firefox और Safari तक पहुँच गया। वर्तमान कला की स्थिति यह है कि उपकरण WebCodecs का उपयोग करें जब यह उपलब्ध हो और कोडेक समर्थित हो, और अन्यथा FFmpeg.wasm पर वापस गिरें। यह टूल दोनों का उपयोग करता है।

सोशल-प्लेटफ़ॉर्म लंबाई सीमाएँ, लोग ट्रिमर क्यों खोलते हैं

ब्राउज़र-आधारित ट्रिमिंग की बहुत मांग सोशल-प्लेटफ़ॉर्म अपलोड के लिए वीडियो तैयार करने से आती है, प्रत्येक की अपनी अधिकतम लंबाई होती है:

ये संख्याएँ प्लेटफ़ॉर्म के पुनरावृत्ति के साथ लगातार बदलती हैं, लेकिन «प्लेटफ़ॉर्म X आपके अपलोड को अस्वीकार करेगा यदि यह Y मिनट से अधिक हो» का सामान्य पैटर्न टिकाऊ है, और सबसे आम कारणों में से एक है कि एक अंतिम उपयोगकर्ता पहले स्थान पर ट्रिमर क्यों खोलता है।

जब डेस्कटॉप संपादक बेहतर उपकरण है

उन उपयोगकर्ताओं के लिए जिनके लिए ब्राउज़र ट्रिमर अपर्याप्त है, पेशेवर पारिस्थितिकी तंत्र कुछ स्थापित डेस्कटॉप अनुप्रयोगों के चारों ओर घूमता है। Apple ProRes मध्यवर्ती कोडेक का एक परिवार है जिसे Apple ने अप्रैल 2007 में Final Cut Studio 2 के साथ पेश किया, संपादन के लिए डिज़ाइन किया गया, वितरण के लिए नहीं। Final Cut Pro, मूल रूप से 1999 में Macromedia द्वारा जारी किया गया और एक साल बाद Apple द्वारा अधिग्रहित किया गया, 21 जून 2011 को Final Cut Pro X के रूप में फिर से बनाया गया और फिर से जारी किया गया; केवल macOS और वृत्तचित्र और प्रसारण दुनिया के अधिकांश में मानक संपादक। DaVinci Resolve, मूल रूप से एक उच्च-स्तरीय रंग ग्रेडिंग प्रणाली, 2009 में Blackmagic Design द्वारा अधिग्रहित किया गया और उत्तरोत्तर एक पूर्ण संपादन/ऑडियो पोस्ट/दृश्य प्रभाव/ग्रेडिंग सूट में फिर से बनाया गया, macOS, Windows और Linux के लिए उपलब्ध, एक मुफ़्त बेस संस्करण के साथ जिसने संपादन बाज़ार के अर्थशास्त्र को काफ़ी बदल दिया है। Adobe Premiere Pro तीसरा बड़ा खिलाड़ी है और फ़िल्म और टीवी उद्योग के अधिकांश पर हावी है। इनमें से कोई भी उस उपयोगकर्ता के लिए उपयुक्त नहीं है जो TikTok पर पोस्ट करने से पहले फ़ोन-रिकॉर्ड किए गए क्लिप के पहले दस सेकंड को हटाना चाहता है, जो ठीक वह अंतर है जिसे ब्राउज़र ट्रिमर भरता है।

क्यों «कोई अपलोड नहीं» यहाँ विशेष रूप से मायने रखता है

ब्राउज़र-आधारित वीडियो ट्रिमर की सबसे महत्वपूर्ण संपत्ति यह है कि फ़ाइल उपयोगकर्ता की मशीन से बाहर नहीं जाती। वीडियो डेटा File इनपुट से सीधे JavaScript मेमोरी में लोड होता है, ब्राउज़र प्रक्रिया के अंदर WebAssembly द्वारा संसाधित किया जाता है, और परिणाम डाउनलोड के रूप में पेश किया जाता है। कोई अपलोड नहीं, कोई तृतीय पक्ष नहीं जो फ़ाइल पढ़ सके, कोई क्लाउड बिल नहीं जो उपयोगकर्ता संख्या के साथ स्केल करे, कोई डेटा प्रतिधारण नीति नहीं जिसे लिखना या ऑडिट करना हो। संवेदनशील सामग्री के लिए (रिकॉर्ड की गई बैठकें, व्यक्तिगत फ़ुटेज, कुछ भी जो कानूनी या संविदात्मक कारणों से तृतीय पक्ष को अपलोड नहीं किया जा सकता) यही एकमात्र वास्तुकला है जो समझ में आती है।

नकारात्मक पक्ष यह है कि उपयोगकर्ता गणना लागत का भुगतान करता है। एक ट्रिमर जो सर्वर फ़ार्म पर चलता है, कुछ सेकंड में 4K क्लिप को फिर से एन्कोड कर सकता है क्योंकि उसके पास GPU एन्कोडिंग हार्डवेयर तक पहुँच है; लैपटॉप CPU पर सॉफ़्टवेयर में चल रहे FFmpeg.wasm में वही ऑपरेशन एक या दो मिनट ले सकता है। Fast (स्ट्रीम कॉपी) पथ एन्कोड से पूरी तरह बचकर इसे काफी हद तक सिरह से हटा देता है, यही कारण है कि यह लगभग हर आकस्मिक ट्रिमिंग उपयोग केस के लिए सही डिफ़ॉल्ट है। Precise (री-एन्कोडिंग) पथ केवल तभी सही डिफ़ॉल्ट है जब उपयोगकर्ता को स्पष्ट रूप से प्रतीक्षा की कीमत पर फ़्रेम सटीकता की आवश्यकता हो।

अधिक प्रश्न

मेरा Fast ट्रिम मेरे अनुरोध से पहले या बाद में क्यों शुरू हो रहा है?

क्योंकि Fast मोड (स्ट्रीम कॉपी) केवल कीफ़्रेम (I-frame) पर शुरू हो सकता है, और आपके अनुरोधित शुरुआत से पहले निकटतम कीफ़्रेम एक पूर्ण GOP पहले हो सकता है, स्रोत कैसे एन्कोड किया गया था पर निर्भर करते हुए 2 से 10 सेकंड के बीच कहीं भी। यदि आपको एक विशिष्ट फ़्रेम पर कट चाहिए, तो Precise मोड पर स्विच करें, जो री-एन्कोड करता है और चुने हुए फ़्रेम पर ठीक उतरता है, लंबी प्रतीक्षा और थोड़ी पीढ़ी के कम्प्रेशन हानि की कीमत पर।

मेरे Fast ट्रिम के बाद ऑडियो सिंक से बाहर क्यों है?

आमतौर पर क्योंकि कट बिंदु वीडियो GOP के अंदर उतरा और उस टाइमस्टैम्प पर ऑडियो फ़्रेम वीडियो कीफ़्रेम के साथ संरेखित नहीं होता। Fast मोड वीडियो शुरुआत को निकटतम कीफ़्रेम पर स्थानांतरित करता है लेकिन ऑडियो टाइमस्टैम्प को अपरिवर्तित ले जा सकता है, एक ऑफसेट उत्पन्न करता है। मानक FFmpeg फ़िक्स -avoid_negative_ts make_zero ध्वज है, जो सभी टाइमस्टैम्प को पुनः आधारित करता है ताकि पहला शून्य हो। यदि सिंक महत्वपूर्ण है, Precise मोड नए शुरुआत के साथ संरेखित करने के लिए ऑडियो को पुनः नमूना करता है और इस वर्ग की समस्या से बचता है।

क्या मैं इनपुट से अलग प्रारूप में निर्यात कर सकता हूँ?

प्रारूप रूपांतरण के लिए, Video Converter उपकरण इस उद्देश्य के लिए बनाया गया है और अधिक विकल्प उजागर करता है। ट्रिमर समान-कोडेक, समान-कंटेनर मामले के लिए अनुकूलित है (Fast मोड मूल एन्कोडिंग को पूरी तरह से संरक्षित करता है) या Precise मोड में वेब-अनुकूल आउटपुट के एक छोटे सेट को री-एन्कोडिंग के लिए। री-एन्कोडिंग में हमेशा CPU समय और एक पीढ़ी की गुणवत्ता हानि होती है; यदि आपको चित्र को री-एन्कोड किए बिना केवल कंटेनर बदलने की आवश्यकता है, तो ffmpeg -c copy समतुल्य सही उपकरण है।

AVI इनपुट क्यों काम करता है लेकिन AVI आउटपुट नहीं?

AVI अधिकांश आधुनिक कोडेक सुविधाओं से पहले का है (B-frames अजीब हैं, 4 GB से अधिक ऑडियो सिंक नाजुक है, इंडेक्स प्रारूप सीमित है), और आधुनिक उपकरण आमतौर पर इसे केवल विरासत इनपुट प्रारूप के रूप में मानते हैं। AVI में इनपुट ठीक पढ़े जाते हैं; आउटपुट डिफ़ॉल्ट MP4 या WebM होते हैं, जो सक्रिय रूप से बनाए रखे गए ISOBMFF/Matroska परिवार हैं और हर आधुनिक ब्राउज़र और प्लेयर में चलते हैं।

संबंधित टूल

वीडियो कन्वर्टर GIF निर्माता वीडियो → टेक्स्ट ऑडियो ट्रिमर