28 पॉइंट द्वारा xguru 2025-03-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • नवीनतम AV1 वीडियो फ़ॉर्मेट का उपयोग करने पर वेब पर वीडियो फ़ाइल का आकार 20~40 गुना तक छोटा किया जा सकता है
  • YouTube और Netflix ने AV1 को अगली पीढ़ी के वीडियो codec के रूप में अपनाया है, और Chrome, Safari, Firefox जैसे प्रमुख browsers में इसका समर्थन है
  • यह गाइड AV1 codec encoding strategy और optimization के तरीके समझाती है

codec और container का अवलोकन

  • static image formats: WebP, JPEG, PNG अधिकांश browsers में समर्थित हैं। आधुनिक browsers में AVIF का उपयोग किया जा सकता है
  • वीडियो फ़ाइल की संरचना:
    • video codec: H.264, HEVC, VP9, AV1 आदि, जो वीडियो compression strategy तय करते हैं
    • audio codec: MP3, Opus, AAC आदि, जो ऑडियो compression strategy तय करते हैं
    • container: MP4, MOV, WebM आदि, जिनमें video/audio streams, subtitles और metadata संग्रहीत होते हैं

AV1 codec परिचय

  • AV1 codec पहली बार मार्च 2018 में जारी हुआ
  • HEVC/VP9 और H.264/VP8 की तुलना में फ़ाइल आकार 30~50% तक और छोटा बना सकता है
  • फायदे:
    • कम bitrate पर भी उच्च video quality बनाए रख सकता है
    • compression loss लगभग नहीं के बराबर होता है
  • कमियां:
    • encoding की गति धीमी है
    • केवल नए devices पर समर्थित है (iPhone 15+, MacBook M3 आदि)
    • compatibility के लिए AV1 और H.264 दोनों versions तैयार रखने पड़ते हैं

अभी AV1 का उपयोग कैसे करें

  • container और codec चुनना
    • container: MP4 सबसे लोकप्रिय है और इसकी सिफारिश की जाती है
    • audio codec: Opus का उपयोग सुझाया जाता है (efficient और free)
  • अधिकतम compatibility के लिए फ़ाइल तैयार करना
    • desktop और आधुनिक mobile browsers के लिए (Chrome, Safari, Firefox, Edge आदि)
      • MP4 container + AV1 video codec + Opus audio codec
      • user coverage: लगभग 74% (सितंबर 2023 के अनुसार)
    • पुराने Safari और macOS के लिए
      • MP4 container + H.264 video codec + AAC audio codec
      • user coverage: लगभग 19%
    • पुराने iPhone और Mac समर्थन को बेहतर करने के लिए (वैकल्पिक)
      • MP4 container + HEVC video codec + AAC audio codec

AV1 वीडियो फ़ाइल कैसे बनाएं

1. FFmpeg इंस्टॉल करें

  • Mac: brew install ffmpeg
  • Linux: अपनी distribution में FFmpeg इंस्टॉल करें
  • Windows: installation guide देखें

2. H.264 फ़ाइल बनाना (पुराने devices के समर्थन के लिए)

  • ffmpeg -i SOURCE.mov -map_metadata -1 -c:a aac -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.h264.mp4

3. AV1 फ़ाइल बनाना (आधुनिक devices के समर्थन के लिए)

  • ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libopus -c:v libsvtav1 -qp 30 -tile-columns 2 -tile-rows 2 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.av1.mp4
  • crf या qp मान समायोजित करके quality और file size के बीच संतुलन बनाया जा सकता है

4. HEVC फ़ाइल बनाना (ज़रूरत पड़ने पर)

  • पुराने iPhone और Mac के समर्थन के लिए HEVC encoding
  • ffmpeg -i SOURCE.mov -map_metadata -1 -c:a aac -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.hevc.mp4

FFmpeg के मुख्य options की व्याख्या

  • -i SOURCE.mov: source file input सेट करता है
  • -map_metadata -1: अनावश्यक metadata हटाता है
  • -c:a libopus: audio codec चुनता है (Opus)
  • -c:v libsvtav1: video codec चुनता है (AV1)
  • -crf 34, -qp 30: quality और file size समायोजित करते हैं (मान जितना कम, quality उतनी बेहतर और आकार उतना बड़ा)
  • -preset veryslow: high-quality file बनाने के लिए encoding speed सेट करता है
  • -pix_fmt yuv420p: color data घटाकर file size कम करता है
  • -movflags +faststart: streaming start time कम करता है
  • -tile-columns 2 -tile-rows 2: encoding speed बेहतर करता है

browser compatibility सेटिंग

  • आधुनिक browsers में AV1 का उपयोग करें, और पुराने browsers में H.264 पर fallback करें
    <video controls width="600" height="400">  
      <source src="video.av1.mp4" type="video/mp4; codecs=av01.0.05M.08,opus">  
      <source src="video.h264.mp4" type="video/mp4; codecs=avc1.4D401E,mp4a.40.2">  
    </video>  
    
  • पुराने iPhone और Mac के समर्थन के लिए HEVC फ़ाइल भी जोड़ी जा सकती है
    <source src="video.hevc.mp4" type="video/mp4; codecs=hvc1">  
    

GIF को AV1 या H.264 में बदलना

  • GIF, H.264 और AV1 की तुलना में 20~40 गुना बड़ा होता है और CPU तथा power भी ज़्यादा खपत करता है → इसलिए conversion की सिफारिश की जाती है
  • GIF → H.264 conversion
    • ffmpeg -i IMAGE.gif -map_metadata -1 -an -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" animation.h264.mp4
  • GIF → AV1 conversion
    • ffmpeg -i IMAGE.gif -map_metadata -1 -an -c:a opus -c:v libsvtav1 -qp 30 -tile-columns 2 -tile-rows 2 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" animation.av1.mp4
  • HTML में GIF replacement example
    <video autoplay loop muted playsinline width="600" height="400">  
      <source src="animation.av1.mp4" type="video/mp4; codecs=av01.0.05M.08">  
      <source src="animation.h264.mp4" type="video/mp4">  
    </video>  
    

1 टिप्पणियां

 
laeyoung 2025-03-14

Landing page पर वीडियो का इस्तेमाल अक्सर होता है, इसलिए इसे एक बार आज़माकर देखना अच्छा रहेगा। यह कितना अच्छा काम करता है, या कहीं ऐसे edge cases तो नहीं आते जिनकी वजह से इसे इस्तेमाल न किया जा सके।