2012-03-31 13 views
9

Ho seguito molte cose multimediali la scorsa settimana e ora ho incasinato alcune domande.Queste sono legate al mio lavoro sullo sviluppo di un lettore multimediale. Le mie domande di seguito sono basati solo su questo. Sto anche cercando ebook/risorse sui codec multimediali?Concetto di codec multimediali (container, formato, codec, muxer, demuxer)

Sto cercando le seguenti informazioni?

  1. Qual è la differenza tra contenitore, formato, codec, pacchetto, cornice ? Credo che sia Container -> Audio (corsi d'acqua) + Video (stream)

Streams sono codificati/decodificati utilizzando i codec Streams -> Pacchetti pacchetti -> Cornici

(2) Come il muxer, demuxer, coder, decoder ladder funziona? Da quale lato giace?

(3) Quando diciamo un nuovo codec - Che cosa significa? - Coder/decoder o un nuovo formato di file.AVI è un codec o un formato? Esiste una relazione tra il codec che stiamo utilizzando e il formato del file.

(4) In che senso un codec differisce da un altro codec? Riproduzione di bit rate, dimensioni, qualità, fps?

(5) Se stiamo sviluppando un nuovo codec, cosa deve essere diverso? - L'algoritmo per encoder e decodificatore?

(6) Blu ray e DVD rip? Quali sono il nuovo formato o nuovi codec?

(7) Se desidero fornire il supporto per i suddetti codec nel mio lettore multimediale, come posso integrare i vari codec? Sotto forma di alcune librerie o riferimento diretto al codice sorgente?

(8) Come varia il diverso quadro multimediale (Gstremaer, ffmpeg, stagefright, OpenCore) rispetto al codec.

seguito è/sono i link che ho vissuto:

http://dranger.com/ffmpeg/tutorial01.html

risposta

22

Ecco una risorsa online gratuita per iniziare con (Full Disclosure: ho eseguito il sito :-)): MultimediaWiki. Inoltre, ecco un documento che ho scritto molto tempo fa e che potrebbe aiutarti con molte delle tue domande: Multimedia Technology Basics. Proverò a rispondere alle tue domande qui.

1) Un formato contenitore (come AVI o QuickTime/MOV) generalmente contiene (contiene) vari flussi, in genere almeno un flusso video e un flusso audio. Questi flussi video e audio sono solitamente codificati utilizzando un codec, che è un algoritmo che descrive un metodo più efficiente per la codifica dei dati. Pacchetti e frame: a volte, frammenti di dati video o audio sono suddivisi in pacchetti o frame come definito dalle loro specifiche di codec, ma questo tende a scendere alla semantica: pacchetti, frame, blocchi, sono solo pezzi.

2) Quando si crea un file multimediale, si utilizzano algoritmi di codifica per codificare i dati video e audio, quindi si utilizza un muxer per mettere insieme gli stream in un file (contenitore). Per riprodurre il file, un demuxer separa i flussi e li alimenta nei decodificatori per ottenere i dati audio e video.

3) Codec indica codificatore/decodificatore ed è un concetto separato dal formato contenitore.Molti formati contenitore possono contenere diversi tipi di formato (AVI e QuickTime/MOV sono molto generali). Altri formati sono limitati a uno o due tipi di media.

4) I codec competono su molti fattori e sono progettati per molti scopi. Una grande differenza è lossy vs. lossless. Se è necessario conservare tutte le informazioni originali, si sceglie un formato senza perdita di dati, ma non si ottiene la compressione migliore. Se puoi permetterti di perdere alcuni dati, puoi scegliere un formato lossy che sacrifica (si spera impercettibile, per gli umani) informazioni in cambio di una maggiore compressione. Alcuni codec sono ottimizzati per diversi tipi di dati, come i codec vocali che presuppongono che i dati di input siano gli umani che parlano o i codec video dello schermo, che presuppongono che il video di input sia sessioni desktop statiche relativamente statiche.

5) Creare un nuovo codec implicherebbe un nuovo algoritmo che richiederebbe un nuovo encoder AND decoder.

6) Penso che questi contino come contenitori. Un DVD rip è probabilmente un qualcosa chiamato stream di un programma MPEG (MPEG-PS), che probabilmente contiene dati video MPEG-2 e uno dei pochi tipi di audio diversi.

7) Ci sono molte librerie per giocare questa roba. Prima di tutto, devi considerare la tua piattaforma (Windows, Mac OS X, Linux, iOS, Android, ecc.). Ci sono librerie e strutture appropriate su ciascuna.

8) Ancora una volta, molti di questi quadri e librerie serviranno probabilmente alle vostre esigenze. Dipende dalla tua piattaforma e dalle esigenze di licenza.

Spero che questo ti abbia dato qualcosa su cui lavorare. Come puoi vedere dal mio manico, mi piace parlare di queste cose. :-)

+0

molto informativo ... andrò approfondito. Grazie. – Raulp

+0

@Multimedia Mike: Grazie per questo post. – sam

+0

@Multimedia Mike La prego di aiutarmi con la mia domanda all'indirizzo: [link] (http://stackoverflow.com/questions/21046088/video-encoding-decoding-ffmpeg-libav) Grazie in anticipo! – learner