ट्रांसपेरेंट MP4 और अल्फ़ा वाला HEVC: असल में क्या काम करता है
Charmotion टीम द्वारा · अपडेट:

स्टैंडर्ड H.264 MP4 ट्रांसपेरेंट नहीं हो सकता, क्योंकि H.264 में अल्फ़ा चैनल नहीं होता। ट्रांसपेरेंट वीडियो के लिए ऐसा codec चाहिए जो अल्फ़ा स्टोर करे: Safari और Apple डिवाइस के लिए HEVC with alpha (आमतौर पर .mov में), Chrome, Edge और Firefox के लिए VP9 WebM, या एडिटिंग के लिए ProRes 4444। Mac पर Apple का avconvert ProRes 4444 मास्टर को HEVC with alpha में बदल देता है।
मुख्य बातें
- H.264 MP4 में अल्फ़ा नहीं होता; "ट्रांसपेरेंट MP4" का मतलब आमतौर पर HEVC with alpha होता है, या स्टैक्ड color-plus-alpha MP4 जिसके लिए खास प्लेयर चाहिए।
- After Effects या Premiere से ट्रांसपेरेंट मास्टर के रूप में ProRes 4444 या PNG सीक्वेंस एक्सपोर्ट करें।
- macOS पर HEVC WithAlpha प्रीसेट के साथ
avconvertने हमारे टेस्ट में काम करने वाली HEVC alpha फ़ाइल बनाई; ffmpeg का VideoToolbox आउटपुट AVFoundation में नहीं खुला। - ffmpeg 7.1.1 HEVC alpha फ़ाइलों को उनके अल्फ़ा के बिना डिकोड करता है, इसलिए WebM बनाने के लिए ProRes 4444 के ज़रिए जाएँ।
- iPhone पर रिपोर्ट किया गया है कि ट्रांसपेरेंट हिस्से अपने पीछे की चीज़ को ज़्यादा चमकीला कर देते हैं; color tags जाँचें और डिवाइस पर टेस्ट करें।
क्या MP4 में अल्फ़ा चैनल हो सकता है?
H.264 के साथ नहीं, और लगभग हर "MP4" यही होता है। H.264 सिर्फ़ रंग स्टोर करता है, इसलिए एक्सपोर्ट पर कोई भी ट्रांसपेरेंट हिस्सा सॉलिड रंग बन जाता है।
ट्रांसपेरेंट MP4 से लोगों का मतलब तीन चीज़ों में से एक होता है:
- HEVC with alpha. Apple का H.265 वेरिएंट एक दूसरी, अल्फ़ा लेयर रखता है। Apple ने इसका प्लेबैक iOS 13 और macOS Catalina में शुरू किया (WWDC19 session 506)। फ़ाइलें आमतौर पर
hvc1टैग वाली QuickTime .mov होती हैं। - स्टैक्ड MP4. रंग और ग्रेस्केल अल्फ़ा मास्क को एक सामान्य H.264 फ़्रेम में अगल-बगल या ऊपर-नीचे पैक किया जाता है, और एक कस्टम प्लेयर (shader, canvas script या Android view) उन्हें फिर से जोड़ता है। उदाहरण के लिए, Masko Android के लिए "stacked MP4" देता है। साधारण वीडियो प्लेयर में यह ट्रांसपेरेंट नहीं दिखता।
- गलत लेबल वाली फ़ाइल। कुछ टूल "ट्रांसपेरेंट MP4" कहते हैं, पर असल में WebM या MOV फ़ाइल बनाते हैं। एक्सटेंशन नहीं, codec जाँचें।
वेब के लिए भरोसेमंद तरीका है एक <video> एलिमेंट में दो फ़ाइलें: पहले Safari के लिए HEVC alpha, फिर बाकी सबके लिए VP9 WebM। मार्कअप वेबसाइट पर ट्रांसपेरेंट वीडियो में है।
After Effects या Media Encoder ट्रांसपेरेंट MP4 एक्सपोर्ट क्यों नहीं करते?
क्योंकि यह फ़ॉर्मेट अल्फ़ा को संभाल ही नहीं सकता। इसी सवाल पर Adobe के community thread में स्वीकार किया गया जवाब साफ़ कहता है: "MP4 फ़ाइल फ़ॉर्मेट अल्फ़ा चैनल को सपोर्ट नहीं करता।" दूसरे जवाबों में बताया गया है कि HEVC ऐसा कर सकता है, लेकिन Adobe के अपने exporter अल्फ़ा के साथ HEVC नहीं लिखते।
उस thread में सुझाए गए विकल्प वही हैं जिन्हें प्रोफ़ेशनल लोग ट्रांसपेरेंट master के रूप में इस्तेमाल करते हैं:
- ProRes 4444 के साथ QuickTime, अल्फ़ा वाला आम एडिटिंग master।
- QuickTime Animation या PNG codec, साइज़ में बड़े लेकिन lossless।
- PNG इमेज सीक्वेंस, हर फ़्रेम के लिए एक फ़ाइल।
- VP9 WebM, किसी third-party exporter या ffmpeg से।
master को एक बार "RGB + Alpha" चैनल के साथ एक्सपोर्ट करें, फिर उसी से वेब फ़ाइलें बनाएँ। किसी वेब पेज पर ProRes 4444 कभी न दें: यह एडिटिंग फ़ॉर्मेट है और बहुत ज़्यादा बड़ा होता है।
अल्फ़ा के साथ HEVC कैसे बनाएँ (Mac के साथ या उसके बिना)?
Mac पर, अक्टूबर 2026 के हमारे टेस्ट में भरोसेमंद तरीका Apple का अपना encoder था। अगर आपके पास ProRes 4444 master नहीं है तो पहले उसे बनाएँ (यहाँ एक ट्रांसपेरेंट WebM से), फिर उसे avconvert से कन्वर्ट करें, जो macOS के साथ आता है और जिसमें "WithAlpha" वाले HEVC preset हैं:
ffmpeg -c:v libvpx-vp9 -i character.webm -c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le -an master.mov
avconvert -s master.mov -p PresetHEVCHighestQualityWithAlpha -o character-hevc.mov
नतीजे को AVFoundation से वापस पढ़ने पर 77% पिक्सेल ट्रांसपेरेंट मिले, जो source से मेल खाते हैं। Compressor और AVFoundation का AVAssetWriter (codec hevcWithAlpha) भी यही system encoder इस्तेमाल करते हैं।
एक आम विकल्प ffmpeg का hevc_videotoolbox encoder है, -alpha_quality और -tag:v hvc1 के साथ। ffmpeg 7.1.1 के साथ हमारे टेस्ट में इससे बनी फ़ाइलें opaque वर्ज़न से बड़ी थीं, जिससे अल्फ़ा लेयर होने का संकेत मिलता है, लेकिन AVFoundation ने उन्हें खोलने से मना कर दिया (error -11801 / -12713)। ffmpeg से बनी किसी भी HEVC फ़ाइल को ship करने से पहले Safari में टेस्ट करें।
Mac के बिना विकल्प कम हैं। FFmpeg 8.0 के changelog में "libx265 alpha layer encoding" जोड़ा गया है, जिससे Windows और Linux पर अल्फ़ा लेयर वाला HEVC बन सकता है; हमने यह जाँच नहीं की है कि Safari इसका आउटपुट चलाता है या नहीं, इसलिए इस पर भरोसा करने से पहले iPhone पर टेस्ट करें। वरना Mac पर encode करें (cloud Mac भी चलेगा) या ऐसा टूल इस्तेमाल करें जो आपको MOV बनाकर दे।
क्या Windows पर अल्फ़ा वाला HEVC चल सकता है?
वीडियो आमतौर पर चल जाता है, लेकिन ट्रांसपेरेंसी दिखने की उम्मीद न करें। Windows पर HEVC सिर्फ़ Microsoft के पेड HEVC Video Extensions (अक्टूबर 2026 में US Store listing में US$0.99) या अपना decoder साथ लाने वाले player से चलता है। Windows पर Chrome और Firefox HEVC अल्फ़ा को ट्रांसपेरेंट नहीं दिखाते, इसीलिए वेब वाले तरीके में इसके साथ WebM भी दिया जाता है।
Mac के बिना यह देखने के लिए कि फ़ाइल में असल में क्या है, उसे हमारे फ़्री Transparent Video Checker में खोलें, जो फ़ाइल के अल्फ़ा flag पढ़ता है और आपके ब्राउज़र में decoding टेस्ट करता है। Windows पर ट्रांसपेरेंसी का प्रीव्यू देखने के लिए उससे एक WebM बनाएँ (अगला सेक्शन)।
अल्फ़ा वाली MOV को WebM में कैसे कन्वर्ट करें?
यह MOV के अंदर के codec पर निर्भर करता है।
ProRes 4444 MOV: ffmpeg इसका अल्फ़ा सीधे पढ़ लेता है।
ffmpeg -i master.mov -c:v libvpx-vp9 -pix_fmt yuva420p -b:v 0 -crf 30 -an character.webm
HEVC अल्फ़ा MOV: ffmpeg 7.1.1 सिर्फ़ color लेयर decode करता है। हमारे टेस्ट में, जाँची गई HEVC अल्फ़ा फ़ाइल से decode हुए फ़्रेम में 0% पिक्सेल ट्रांसपेरेंट थे, और ffprobe ने yuv420p बताया। पहले Apple के decoder से ProRes 4444 में कन्वर्ट करें, फिर WebM encode करें:
avconvert -s character-hevc.mov -p PresetAppleProRes4444LPCM -o prores.mov
ffmpeg -i prores.mov -c:v libvpx-vp9 -pix_fmt yuva420p -b:v 0 -crf 30 -an character.webm
इस तरीके से alpha_mode=1 और 76% ट्रांसपेरेंट पिक्सेल वाला WebM बना। yuva420p पिक्सेल फ़ॉर्मेट ही WebM में अल्फ़ा बनाए रखता है; इसके बिना libvpx-vp9 एक opaque फ़ाइल लिखता है। जब आप बाद में उस WebM को ffmpeg से decode करें, तो -c:v libvpx-vp9 को -i से पहले लिखें, वरना अल्फ़ा फिर गायब हो जाएगा।
iPhone पर मेरा ट्रांसपेरेंट वीडियो फीका क्यों दिखता है?
यह कोई documented व्यवहार नहीं, बल्कि रिपोर्ट की गई और अब तक हल न हुई समस्या है। अक्टूबर 2024 के एक Apple Developer Forums thread में एक developer ने लिखा कि iPhone और iPad पर "वीडियो के ट्रांसपेरेंट हिस्से लगभग एक 'overlay' की तरह काम करते हैं, जिससे पीछे की हर चीज़ काफ़ी ज़्यादा चमकदार हो जाती है," और स्क्रीन brightness कम होने पर यह असर और बढ़ जाता था। वही फ़ाइलें Mac, Windows और Android पर सही दिखती थीं।
Apple की ओर से आए इकलौते जवाब में पूछा गया कि फ़ाइल कौन सा color space इस्तेमाल करती है, और Safari के Web Inspector की ओर इशारा किया गया, जहाँ चुने गए <video> का Media panel वह color जानकारी दिखाता है जो Safari ने पढ़ी। thread में किसी fix की पुष्टि नहीं हुई।
व्यवहार में क्या करें:
- साफ़ और स्टैंडर्ड color tag (SDR के लिए BT.709) के साथ एक्सपोर्ट करें और उन्हें Web Inspector में दिखने वाली जानकारी से मिलाएँ।
- असली iPhone पर, कम और ज़्यादा brightness पर, अपने असली पेज बैकग्राउंड के ऊपर टेस्ट करें।
- अगर किसी छोटे कैरेक्टर को बिल्कुल सही दिखना ज़रूरी है, तो उसे live render करने पर विचार करें: Rive या Lottie फ़ाइल ट्रांसपेरेंट canvas पर render होती है, बिना किसी वीडियो compositing के।
क्या मैं encoding के स्टेप छोड़ सकता हूँ?
अगर आप किसी कैरेक्टर, मैस्कॉट या लोगो इमेज से शुरू करते हैं, तो हाँ। Charmotion के पेड प्लान ($20/माह से) हर एनिमेशन को 1080×1080 पर VP9-alpha WebM और HEVC-alpha MOV, दोनों रूपों में देते हैं, Apple के AVFoundation से एनकोड किए हुए, इसलिए फ़ाइलें पहले से ही एक <video> एलिमेंट में सही जोड़ी बनाती हैं।
अक्सर पूछे जाने वाले सवाल
क्या stacked MP4 और ट्रांसपेरेंट MP4 एक ही चीज़ है?
नहीं। stacked MP4 एक साधारण opaque H.264 वीडियो होता है, जिसमें color इमेज और काला-सफ़ेद अल्फ़ा mask एक ही फ़्रेम में रखे होते हैं। यह सिर्फ़ ऐसे player में ट्रांसपेरेंट दिखता है जो दोनों हिस्सों को फिर से जोड़ता है, जैसे कोई custom shader या Android view। सामान्य player में आपको दोनों हिस्से दिखते हैं।
मेरे HEVC अल्फ़ा वीडियो के लिए ffprobe yuv420p क्यों दिखाता है?
क्योंकि ffmpeg, Apple के अल्फ़ा वाले HEVC की सिर्फ़ base color लेयर पढ़ता है; अल्फ़ा एक अलग लेयर में रखा होता है। ffmpeg 7.1.1 के साथ हमारे टेस्ट में decode हुए फ़्रेम में कोई ट्रांसपेरेंसी नहीं थी। इसके बजाय फ़ाइल को Safari या AVFoundation में जाँचें, या पहले avconvert से उसे ProRes 4444 में कन्वर्ट करें।
क्या मैं Premiere Pro में अल्फ़ा वाला HEVC बना सकता हूँ?
Adobe के community forum के जवाबों के अनुसार, सीधे नहीं। Premiere या After Effects से अल्फ़ा के साथ ProRes 4444 एक्सपोर्ट करें, फिर Mac पर avconvert, Compressor या AVFoundation से उसे अल्फ़ा वाले HEVC में कन्वर्ट करें।
इस गाइड से झटपट जवाब
स्रोत
- HEVC Video with Alpha (WWDC19 session 506), Apple Developer
- How to export MP4 (Media Encoder) with a transparent background, Adobe Community
- Faulty transparent video in iPhone browsers, Apple Developer Forums
- FFmpeg Changelog (version 8.0: libx265 alpha layer encoding), FFmpeg on GitHub
- FFmpeg codecs documentation (libvpx, VideoToolbox), FFmpeg
- ffmpeg loses HEVC alpha: transparent video fix, hontran.dev
- HEVC Video Extensions, Microsoft Store
- Video with alpha transparency on the web, Jake Archibald
- Masko: AI mascot generator for apps and websites, Masko