AVFoundation — यह क्या है, iOS में ऑडियो और वीडियो API

लेखक: IT Sectr प्रकाशित: 2026-03-26 पढ़ने का समय: 8 मिनट

AVFoundation Apple का मल्टीमीडिया फ्रेमवर्क है जो iOS, macOS, tvOS और watchOS पर ऑडियो, वीडियो और इमेज के साथ काम करने का पूर्ण वर्कफ़्लो प्रदान करता है। यह कैमरा और माइक्रोफ़ोन से कैप्चर, मीडिया फ़ाइल प्लेबैक, ऑडियो ट्रैक एडिटिंग, रीयल-टाइम ध्वनि प्रोसेसिंग और नेटवर्क स्ट्रीमिंग को कवर करता है। Apple AVFoundation Documentation (2026) के अनुसार, यह फ्रेमवर्क मीडिया सामग्री के साथ काम करने वाले 90% App Store अनुप्रयोगों में उपयोग होता है।

मुख्य बातें

  • AVFoundation — ऑडियो और वीडियो को कैप्चर, प्ले और प्रोसेस करने के लिए Apple का मल्टीमीडिया फ्रेमवर्क
  • AVCaptureSession गुणवत्ता और प्रारूप सेटिंग के साथ कैमरा और माइक्रोफ़ोन कैप्चर प्रबंधित करता है
  • AVPlayer HLS, MP4 और AirPlay के समर्थन के साथ मीडिया फ़ाइल प्लेबैक प्रदान करता है
  • AVAudioEngine प्रभाव और मिक्सिंग के साथ रीयल-टाइम ऑडियो प्रोसेसिंग सक्षम करता है
  • AVAssetExportSession मीडिया फ़ाइलों को विभिन्न प्रारूपों में निर्यात और रूपांतरित करता है

AVFoundation क्या है?

AVFoundation Apple का मौलिक मल्टीमीडिया फ्रेमवर्क है, जिसे iOS 4 (2010) में ऑडियो और वीडियो प्लेबैक के लिए पुराने UIWebView के प्रतिस्थापन के रूप में पेश किया गया था। तब से AVFoundation सभी प्रकार के मीडिया के साथ काम करने के लिए एक पूर्ण सुविधा संपन्न टूलसेट के रूप में विकसित हुआ है: सरल MP3 फ़ाइल प्लेबैक से लेकर मल्टी-चैनल माइक्रोफ़ोन के साथ पेशेवर वीडियो कैप्चर और रीयल-टाइम प्रभावों के माध्यम से ध्वनि परिवर्तन तक।

AVFoundation की आर्किटेक्चर कई मूलभूत अब्स्ट्रैक्शन के आसपास बनी है: AVAsset (मीडिया डेटा), AVPlayer (प्लेबैक), AVCaptureSession (कैप्चर) और AVAudioEngine (प्रोसेसिंग)। प्रत्येक घटक एसिंक्रोनस रूप से काम करता है, जो बड़ी फ़ाइलों को लोड करने या प्रोसेस करने के दौरान UI की स्मूथनेस बनाए रखने के लिए महत्वपूर्ण है। Apple (WWDC 2025) के अनुसार, AVFoundation M-सीरीज़ चिप्स वाले उपकरणों पर बिना प्रदर्शन हानि के 8K वीडियो तक संभालता है।

प्रमुख क्षमताएँ

AVFoundation 4K ProRes, HDR और स्लो-मोशन में 240 FPS तक के समर्थन के साथ कैमरे से वीडियो कैप्चर, अंतर्निहित और बाहरी माइक्रोफ़ोन से ऑडियो रिकॉर्डिंग और मिक्सिंग, HLS, MPEG-4, QuickTime, MP3, AAC और FLAC के समर्थन के साथ मीडिया प्लेबैक, AVAssetExportSession के माध्यम से फ़ाइल निर्यात और रूपांतरण, रीवर्ब, इक्वलाइज़र और पिच-शिफ्टिंग प्रभावों के साथ AVAudioEngine के माध्यम से रीयल-टाइम ऑडियो प्रोसेसिंग, साथ ही AirPlay और नेटवर्क प्रोटोकॉल के माध्यम से स्ट्रीमिंग प्रदान करता है।

AVFoundation के प्रमुख घटक

AVFoundation कई मॉड्यूल से बना है, जिनमें से प्रत्येक मीडिया कार्य के एक विशिष्ट क्षेत्र के लिए जिम्मेदार है। घटक का चयन कार्य पर निर्भर करता है: कैप्चर, प्लेबैक, निर्यात या रीयल-टाइम प्रोसेसिंग।

घटकउद्देश्यप्रमुख वर्ग
कैप्चरकैमरा और माइक्रोफ़ोन के साथ काम करनाAVCaptureSession
प्लेबैकऑडियो और वीडियो प्लेयरAVPlayer / AVAudioPlayer
एडिटिंगकंपोज़िशन और मोंटाजAVMutableComposition
निर्यातअन्य प्रारूपों में रूपांतरणAVAssetExportSession
ऑडियो इंजनरीयल-टाइम ध्वनि प्रोसेसिंगAVAudioEngine
मेटाडेटाID3, EXIF और XMP पढ़नाAVMetadataItem

AVCaptureSession — कैमरा कैप्चर

AVCaptureSession वीडियो और ऑडियो कैप्चर के लिए केंद्रीय ऑब्जेक्ट है। यह भौतिक उपकरणों (कैमरा, माइक्रोफ़ोन) से आने वाले डेटा स्ट्रीम का प्रबंधन करता है, उनकी सेटिंग्स (रिज़ॉल्यूशन, FPS, प्रारूप) कॉन्फ़िगर करता है, और उन्हें आउटपुट पर निर्देशित करता है: पूर्वावलोकन (AVCaptureVideoPreviewLayer), फ़ाइल रिकॉर्डिंग (AVCaptureMovieFileOutput), या फ्रेम-दर-फ्रेम प्रोसेसिंग (AVCaptureVideoDataOutput)।

AVPlayer — मीडिया प्लेबैक

AVPlayer एक सार्वभौमिक AVFoundation प्लेयर है जो स्थानीय और नेटवर्क दोनों पर मीडिया सामग्री चलाने में सक्षम है। AVPlayer HLS स्ट्रीमिंग, MPEG-4, QuickTime Movie और अधिकांश ऑडियो प्रारूपों का समर्थन करता है। प्लेबैक नियंत्रण AVPlayerItem के माध्यम से एसिंक्रोनस रूप से किया जाता है। AVPlayerViewController नियंत्रणों के साथ तैयार UI प्रदान करता है: play/pause, scrubbing, AirPlay और PiP।

AVFoundation के साथ मीडिया कैप्चर करना

वीडियो और ऑडियो कैप्चर AVFoundation की सबसे अधिक मांग वाली क्षमताओं में से एक है। कैप्चर सत्र सेटअप में कई चरण शामिल हैं: AVCaptureSession बनाना, इनपुट (कैमरा, माइक्रोफ़ोन) जोड़ना, आउटपुट कॉन्फ़िगर करना और सत्र शुरू करना।

AVCaptureSession सेटअप

आइए iPhone के पीछे के कैमरे से वीडियो कैप्चर करने और माइक्रोफ़ोन से ध्वनि रिकॉर्ड करने के लिए AVCaptureSession के चरण-दर-चरण सेटअप को देखें। प्रक्रिया Swift में चार चरणों से मिलकर बनी है।

swift
import AVFoundation

// 1. सत्र बनाना और कॉन्फ़िगर करना
let session = AVCaptureSession()
session.sessionPreset = .hd1920x1080

// 2. कैमरा इनपुट जोड़ना
guard let camera = AVCaptureDevice.default(
    for: .video
) else { return }
let cameraInput = try? AVCaptureDeviceInput(device: camera)
guard let input = cameraInput,
      session.canAddInput(input)
else { return }
session.addInput(input)

// 3. रिकॉर्डिंग के लिए आउटपुट जोड़ना
let output = AVCaptureMovieFileOutput()
guard session.canAddOutput(output) else { return }
session.addOutput(output)

// 4. सत्र शुरू करना
session.startRunning()

Swift कोड Full HD preset के साथ एक AVCaptureSession बनाता है, पीछे के कैमरे को वीडियो स्रोत के रूप में जोड़ता है, और फ़ाइल रिकॉर्डिंग के लिए एक आउटपुट जोड़ता है। session.startRunning() के बाद, कैमरा पूर्वावलोकन और आउटपुट फ़ाइल पर फ्रेम भेजना शुरू करता है। रिकॉर्डिंग को output.stopRecording() के माध्यम से गैलरी में सहेजने के विकल्प के साथ रोका जाता है।

केवल ऑडियो कैप्चर (बिना वीडियो) के लिए, AVCaptureSession में केवल माइक्रोफ़ोन को AVCaptureDevice.default(.audio) के माध्यम से जोड़ा जाता है। आउटपुट रीयल-टाइम ध्वनि प्रोसेसिंग के लिए AVAudioFileOutput या AVCaptureAudioDataOutput है। AVFoundation मल्टी-चैनल कैप्चर का समर्थन करता है: iPad Pro पर 8 ऑडियो चैनल तक और iPhone पर 2 तक, जो Lightning, USB-C या Bluetooth के माध्यम से बाहरी माइक्रोफ़ोन से स्टीरियो रिकॉर्डिंग की अनुमति देता है। इनपुट स्रोत चयन AVAudioSession.sharedInstance().setPreferredInput के माध्यम से किया जाता है, जो बाहरी हेडसेट और Bluetooth माइक्रोफ़ोन के साथ काम करने वाले अनुप्रयोगों के लिए महत्वपूर्ण है।

मीडिया चलाना

AVFoundation मीडिया चलाने के दो मुख्य तरीके प्रदान करता है: वीडियो के लिए AVPlayer और ऑडियो के लिए AVAudioPlayer। आइए AVPlayer का उपयोग करके दूरस्थ HLS स्ट्रीम चलाने का एक उदाहरण देखें।

HLS के साथ AVPlayer उदाहरण

कोड एक AVPlayer बनाता है, URL से HLS स्ट्रीम लोड करता है, और कम वॉल्यूम स्तर पर प्लेबैक शुरू करता है। AVPlayerItem लोडिंग और बफरिंग स्थिति का प्रबंधन करता है, और स्थिति का KVO अवलोकन त्रुटियों को संभालने की अनुमति देता है।

swift
import AVFoundation
import AVKit

// 1. HLS स्ट्रीम के साथ AVPlayer बनाना
let url = URL(
    string: "https://example.com/stream.m3u8"
) !
let player = AVPlayer(url: url)
player.volume = 0.7

// 2. प्लेबैक
player.play()

// 3. प्लेयर प्रदर्शित करना
let playerVC = AVPlayerViewController()
playerVC.player = player
present(playerVC, animated: true)

// 4. स्थिति की निगरानी करना
player.currentItem?.addObserver(
    self,
    forKeyPath: "status",
    options: .new,
    context: nil
)

कोड HLS URL के साथ एक AVPlayer बनाता है, वॉल्यूम 70% पर सेट करता है, और प्लेबैक शुरू करता है। AVPlayerViewController नियंत्रण, AirPlay और पिक्चर-इन-पिक्चर मोड के साथ एक अंतर्निहित UI प्रदान करता है। प्लेयर की स्थिति KVO के माध्यम से उन मामलों को संभालने के लिए निगरानी की जाती है जब HLS स्ट्रीम अस्थायी रूप से अनुपलब्ध हो।

वीडियो इंटरफ़ेस के बिना ऑडियो प्लेबैक के लिए AVAudioPlayer का उपयोग किया जाता है — एक हल्का प्लेयर जिसे AVPlayerItem की आवश्यकता नहीं है। AVAudioPlayer MP3, AAC, ALAC, FLAC, WAV और AIFF ऑडियो प्रारूपों का समर्थन करता है, play(), pause() और stop() विधियाँ प्रदान करता है, साथ ही प्लेबैक समाप्ति और डिकोडिंग त्रुटियों को ट्रैक करने के लिए AVAudioPlayerDelegate प्रदान करता है। AVAudioPlayer iOS और macOS पर बैकग्राउंड संगीत प्लेबैक, पॉडकास्ट और गेम्स में ध्वनि प्रभावों के लिए आदर्श है।

अतिरिक्त कोड उदाहरण

आइए AVFoundation के साथ काम करने के दो और विशिष्ट परिदृश्य देखें: AVAudioEngine के माध्यम से ऑडियो प्रोसेसिंग और वीडियो को दूसरे प्रारूप में निर्यात करना।

AVAudioEngine के माध्यम से ऑडियो प्रोसेसिंग

AVAudioEngine प्रोसेसिंग ग्राफ में नोड्स को जोड़कर रीयल-टाइम ऑडियो प्रोसेसिंग सक्षम करता है: इनपुट नोड (माइक्रोफ़ोन) → प्रभाव → आउटपुट नोड (स्पीकर)। नीचे दिए गए उदाहरण में आवाज़ में रीवर्ब जोड़ा गया है।

swift
let engine = AVAudioEngine()
let reverb = AVAudioUnitReverb()

// रीवर्ब सेट करना
reverb.loadFactoryPreset(.largeHall)
reverb.wetDryMix = 40

// कनेक्शन: माइक्रोफ़ोन -> रीवर्ब -> स्पीकर
engine.attach(reverb)
engine.connect(
    engine.inputNode,
    to: reverb,
    format: nil
)
engine.connect(
    reverb,
    to: engine.mainMixerNode,
    format: nil
)

try? engine.start()

AVAudioEngine तीन नोड्स का ग्राफ बनाता है: इनपुट (माइक्रोफ़ोन), प्रभाव (बड़े हॉल प्रीसेट के साथ रीवर्ब) और आउटपुट (स्पीकर)। engine.start() के बाद, माइक्रोफ़ोन से ऑडियो को प्रभाव द्वारा रीयल-टाइम में प्रोसेस किया जाता है और डिवाइस के हेडफ़ोन या स्पीकर पर आउटपुट किया जाता है। सभी आधुनिक Apple उपकरणों पर प्रोसेसिंग विलंबता 10 ms से कम है।

AVAudioEngine की एक अतिरिक्त क्षमता AVAudioUnitEQ और AVAudioUnitMixer के माध्यम से ध्वनि विश्लेषण है। डेवलपर किसी भी ऑडियो स्ट्रीम में इक्वलाइज़र, कंप्रेसर और लिमिटर जोड़ सकता है। संगीत अनुप्रयोगों के लिए, AVFoundation MIDI फ़ाइल प्लेबैक के लिए AVAudioSequencer और भाषण संश्लेषण के लिए AVSpeechSynthesizer प्रदान करता है। सभी घटक एक एकल ऑडियो ग्राफ में काम करते हैं, जो Apple उपकरणों पर कैप्चर और प्रोसेसिंग के बीच 5 ms से कम विलंबता प्रदान करता है।

AVFoundation के साथ काम करते समय सिस्टम अनुमतियों पर विचार करना महत्वपूर्ण है: कैमरे तक पहुँच के लिए Info.plist में NSCameraUsageDescription की आवश्यकता है, और माइक्रोफ़ोन के लिए NSMicrophoneUsageDescription की। AVFoundation स्वचालित रूप से किसी उपकरण तक पहली पहुँच प्रयास पर सिस्टम अनुमति संवाद दिखाता है। उपयोगकर्ता अस्वीकृति को AVCaptureDevice.authorizationStatus() के माध्यम से संभाला जाता है, जो सेटिंग्स में जाने के सुझाव के साथ कैमरा अनुपलब्धता के बारे में उचित संदेश दिखाने की अनुमति देता है।

AVFoundation प्रोजेक्ट Capabilities में Audio Background Mode के माध्यम से बैकग्राउंड ऑडियो प्लेबैक का समर्थन करता है। सक्रिय करने के लिए, UIBackgroundModes Info.plist में audio एंट्री जोड़ें और AVAudioSession को .playback श्रेणी के साथ कॉन्फ़िगर करें। वीडियो डिफ़ॉल्ट रूप से बैकग्राउंड में नहीं चलता, लेकिन iPad पर छोटे किए गए ऐप में वीडियो प्लेबैक जारी रखने के लिए पिक्चर-इन-पिक्चर मोड के साथ AVPlayer का उपयोग किया जा सकता है। PiP मोड आइकन प्रोटोकॉल डेलीगेट के साथ AVPictureInPictureController के माध्यम से कॉन्फ़िगर किया जाता है।

अक्सर पूछे जाने वाले प्रश्न

AVFoundation किन iOS संस्करणों से समर्थित है?

iOS 4+ बुनियादी प्लेबैक और कैप्चर के लिए। iOS 8+ AVAudioEngine के लिए। iOS 17+ HDR मोड में AVAssetWriter के लिए। फ्रेमवर्क का वर्तमान संस्करण सभी iPhone, iPad और Mac उपकरणों पर समर्थित है।

क्या AVFoundation का उपयोग स्ट्रीमिंग के लिए किया जा सकता है?

हाँ, AVPlayer HLS (HTTP Live Streaming) का समर्थन करता है — Apple का प्रमुख स्ट्रीमिंग प्रोटोकॉल। सर्वर पर मीडिया भेजने के लिए, URLSession के ऊपर कस्टम प्रोटोकॉल के साथ AVAssetWriter का उपयोग करें।

AVFoundation, AVKit से कैसे भिन्न है?

AVFoundation मीडिया के साथ काम करने के लिए एक निम्न-स्तरीय फ्रेमवर्क है। AVKit AVFoundation के ऊपर एक परत है जो तैयार UI घटक प्रदान करता है: AVPlayerViewController, AVPictureInPictureController और AVPipView।

क्या AVFoundation FLAC और ALAC ऑडियो प्रारूपों का समर्थन करता है?

हाँ, iOS 11 से AVFoundation प्लेबैक के लिए FLAC (Free Lossless Audio Codec) का समर्थन करता है। ALAC (Apple Lossless) iOS 4 से समर्थित है। दोनों कोडेक AVAudioPlayer और AVPlayer के माध्यम से काम करते हैं।

AVFoundation के माध्यम से स्क्रीन वीडियो कैसे रिकॉर्ड करें?

ReplayKit से RPScreenRecorder के माध्यम से, जो आंतरिक रूप से AVFoundation का उपयोग करता है। iOS 9 से, स्क्रीन रिकॉर्डिंग वैकल्पिक माइक्रोफ़ोन के साथ RPScreenRecorder.shared().startRecording() के माध्यम से उपलब्ध है।

सारांश

  • AVFoundation — ऑडियो/वीडियो कैप्चर, प्लेबैक और प्रोसेसिंग के लिए Apple का मौलिक मल्टीमीडिया फ्रेमवर्क
  • AVCaptureSession 8K और 240 FPS तक रिज़ॉल्यूशन सेटिंग के साथ कैमरा और माइक्रोफ़ोन प्रबंधित करता है
  • AVPlayer AirPlay और PiP के साथ स्थानीय और HLS स्ट्रीम प्लेबैक प्रदान करता है
  • AVAudioEngine प्रभावों के साथ नोड ग्राफ के माध्यम से रीयल-टाइम ऑडियो प्रोसेस करता है
  • AVAssetExportSession HDR समर्थन के साथ मीडिया फ़ाइलों को प्रारूपों के बीच रूपांतरित करता है
  • AVKit प्लेयर और पिक्चर-इन-पिक्चर मोड प्रबंधन के लिए तैयार UI प्रदान करता है
  • फ्रेमवर्क का उपयोग मीडिया सामग्री के साथ काम करने वाले 90% iOS अनुप्रयोगों में होता है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें