$ ffmpeg -i source-file.foo -ss 0 -t 600 first-10-min.m4v
$ ffmpeg -i source-file.foo -ss 600 -t 600 second-10-min.m4v
$ ffmpeg -i source-file.foo -ss 1200 -t 600 third-10-min.m4v
...
इसे एक लूप में करने के लिए स्क्रिप्ट में लपेटना कठिन नहीं होगा।
सावधान रहें कि यदि आप ffprobe
कॉल से अवधि आउटपुट के आधार पर पुनरावृत्तियों की संख्या की गणना करने का प्रयास करते हैं, तो यह अनुमान लगाया जाता है कि क्लिप की शुरुआत में औसत बिट दर और क्लिप के फ़ाइल का आकार जब तक आप -count_frames
तर्क नहीं देते हैं, जो इसके संचालन को काफी धीमा कर देता है ।
एक और बात यह है कि -ss
कमांड लाइन पर विकल्प की स्थिति मायने रखती है । जहां मेरे पास यह अब धीमा है, लेकिन सटीक है। इस उत्तर के पहले संस्करण ने तेज लेकिन गलत विकल्प दिया। लिंक किए गए लेख में ज्यादातर तेजी से लेकिन अभी भी सटीक विकल्प का वर्णन है, जो आप थोड़ी जटिलता के साथ भुगतान करते हैं।
वह सब अलग, मुझे नहीं लगता कि आप वास्तव में प्रत्येक क्लिप के लिए ठीक 10 मिनट काटना चाहते हैं। यह वाक्यों के बीच में कटौती करेगा, यहां तक कि शब्द भी। मुझे लगता है कि आपको एक वीडियो संपादक या खिलाड़ी का उपयोग करना चाहिए ताकि प्राकृतिक कट प्वाइंट को केवल 10 मिनट के लिए अलग किया जा सके।
मान लें कि आपकी फ़ाइल एक ऐसे प्रारूप में है जिसे YouTube सीधे स्वीकार कर सकता है, आपको सेगमेंट प्राप्त करने के लिए पुन: लोड करने की आवश्यकता नहीं है। बस प्राकृतिक कट पॉइंट ऑफ़सेट को ffmpeg
पास करें, यह बताकर कि एन्कोडेड ए / वी को "एनर्जी" का उपयोग करके अछूता से गुजरना है:
$ ffmpeg -i source.m4v -ss 0 -t 593.3 -c copy part1.m4v
$ ffmpeg -i source.m4v -ss 593.3 -t 551.64 -c copy part2.m4v
$ ffmpeg -i source.m4v -ss 1144.94 -t 581.25 -c copy part3.m4v
...
-c copy
तर्क यह बताता है के रूप में-है उत्पादन में सभी इनपुट धाराओं (ऑडियो, वीडियो, और संभवतः जैसे उपशीर्षक दूसरों) कॉपी करने के लिए। सरल ए / वी कार्यक्रमों के लिए, यह अधिक क्रिया झंडे -c:v copy -c:a copy
या पुरानी शैली के झंडे के बराबर है -vcodec copy -acodec copy
। आप अधिक वर्बोज़ शैली का उपयोग करेंगे जब आप केवल एक ही स्ट्रीम को कॉपी करना चाहते हैं, लेकिन दूसरे को फिर से एनकोड करें। उदाहरण के लिए, कई साल पहले H.264 वीडियो के साथ वीडियो को संपीड़ित करने के लिए QuickTime फ़ाइलों के साथ एक आम प्रथा थी लेकिन ऑडियो को असम्पीडित PCM के रूप में छोड़ दें ; यदि आप आज ऐसी किसी फ़ाइल में भाग गए हैं, तो आप इसे -c:v copy -c:a aac
केवल ऑडियो स्ट्रीम को पुन: पेश करने के लिए आधुनिक बना सकते हैं , जिससे वीडियो अछूता नहीं रह जाएगा।
पहले के बाद के प्रत्येक कमांड के लिए शुरुआती बिंदु, पिछले कमांड का प्रारंभ बिंदु और पिछली कमांड की अवधि है।