एक से ज़्यादा ब्राउज़र पर काम करने के लिए, आपको अपना .mov
कन्वर्ट करने के लिए FFmpeg का इस्तेमाल करना होगा
फ़ाइल को दो अलग-अलग कंटेनर पर अपलोड करना होगा: MP4 कंटेनर और WebM कंटेनर. तय सीमा में
तो आप एक ही समय में एक कोडेक तय कर सकते हैं. अभी के लिए,
हम FFmpeg को अपनी डिफ़ॉल्ट सेटिंग इस्तेमाल करने दे रहे हैं.
अगर ये कॉन्सेप्ट आपके लिए नए हैं, तो मीडिया फ़ाइल की बुनियादी बातें ज़रूर पढ़ें. इसके अलावा, अगर आपने FFmpeg इंस्टॉल नहीं किया है, तो उसे पढ़ें मीडिया ऐप्लिकेशन की बुनियादी बातें Docker के साथ सेट अप करने के लिए.
हम सुझाए गए Docker इंस्टॉल का इस्तेमाल कर रहे हैं और
वेब के लिए मीडिया फ़ाइलें तैयार करें से glocken.mov फ़ाइल
media
डायरेक्ट्री में जोड़ा गया. हमने सभी
कमांड शामिल हैं.
कंटेनर
सबसे पहले, हमें .mov
फ़ाइल से, .mp4
के साथ अपने दो कंटेनर बनाने होंगे
और .webm
फ़ाइल एक्सटेंशन होते हैं. साथ ही, फ़ाइल में ऑडियो और वीडियो स्ट्रीम, दोनों होते हैं.
मीडिया फ़ाइल की बुनियादी बातें देखें
अगर आपको कंटेनर और स्ट्रीम के बारे में ज़्यादा नहीं पता है, तो
उन्हें.
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
WebM
/media # ffmpeg -i glocken.mov glocken.webm
MP4 के मुकाबले, WebM में कॉन्टेंट बनाने में ज़्यादा समय लगता है. जब आप इसे देखें तो कोई चौंकाने वाली बात नहीं है
खोजें. हालांकि MP4, ओरिजनल फ़ाइल के करीब 83%
तक कंप्रेस हो जाता है
WebM साइज़, मूल साइज़ के 78%
तक कम हो जाता है, लेकिन उससे काफ़ी छोटा हो सकता है.
आपको मिलने वाले नतीजे अलग-अलग होंगे. यह बताना ज़रूरी है कि FFmpeg 4.2.2
ने
वीडियो का डिफ़ॉल्ट बिटरेट 200k
है. 4.3.2
में, यह डिफ़ॉल्ट बिटरेट नहीं सेट करता.
इसलिए, अब यह वीडियो ओरिजनल4%
वीडियो का हिस्सा नहीं है. इसे आप खुद देख सकते हैं
आपकी मीडिया फ़ाइलें जिस फ़ोल्डर में हैं उसमें ls -a
बैश कमांड का इस्तेमाल करके.
उदाहरण के लिए:
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 9503301 Mar 7 18:30 glocken.webm
छोटी फ़ाइल पाने के लिए, यह तरीका अपनाएं:
/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame= 300 fps=3.6 q=0.0 Lsize= 483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 494497 Mar 7 18:45 glocken.webm
अपने काम की जांच करें
अपने नतीजों की पुष्टि करने के लिए, FFmpeg और शाका पैकेजर का इस्तेमाल करें, जैसा कि यहां पहले दिखाया गया है मीडिया ऐप्लिकेशन की बुनियादी बातें:
/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4
कोडेक
अगला, कोडेक. जैसा कि मीडिया फ़ाइल की बुनियादी बातों में बताया गया है, एक कोडेक
कंटेनर (फ़ाइल टाइप) जैसी चीज़ नहीं होती. एक ही कंटेनर की दो फ़ाइलें
टाइप में अलग-अलग कोडेक का इस्तेमाल करके कंप्रेस किए गए डेटा को होल्ड किया जा सकता है. उदाहरण के लिए, WebM फ़ॉर्मैट
Vorbis या Opus का इस्तेमाल करके ऑडियो को कोड में बदलने की अनुमति देता है. कोडेक बदलने के लिए हम
FFmpeg का इस्तेमाल करें. उदाहरण के लिए, यह निर्देश vorbis
ऑडियो के साथ एक .mkv
फ़ाइल देता है
एक av1
वीडियो कोडेक और कोडेक है.
/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv
इस उदाहरण में, -c:a
फ़्लैग और -c:v
, ऑडियो और
वीडियो कोडेक.
मीडिया कन्वर्ज़न पेज कोडेक को कन्वर्ट करने के लिए ज़रूरी कमांड. नीचे दी गई टेबल में, इस्तेमाल की जाने वाली लाइब्रेरी के बारे में खास जानकारी दी गई है FFmpeg में WebM और MP4 फ़ाइलों के लिए कोडेक कन्वर्ज़न परफ़ॉर्म करें. ये हैं DASH और HLS के लिए सुझाए गए फ़ॉर्मैट.
वीडियो
कोडेक | Extension | लाइब्रेरी |
---|---|---|
av1 | WebM, एमकेवी | लिबाओम-एवी1 |
h264 | MP4 | libx264 |
vp9 | WebM | libvpx-vp9 |
ऑडियो
कोडेक | Extension | लाइब्रेरी |
---|---|---|
एसीई | MP4 | एसीई |
ओपस | WebM | लिबोपस |
Verbis | WebM | libvorbis |
इसके बाद, हम आपको नई बनाई गई फ़ाइलों की बिटरेट बदलने का तरीका बताएंगे.