2015-08-11 7 views
9

Ho due iPad, in particolare: A1489 & A1566.Diverse dimensioni dei file di registrazione da diversi iPad

Se si registra un video del soffitto per 1 minuto, l'A1489 risulta in una dimensione di file che è quasi sempre la metà della dimensione dell'A1566.

L'unico diverso nei video risultanti sembra essere che l'A1566 ha una velocità di trasmissione maggiore e non capisco perché sia?

Sto utilizzando ACFoundation con AVCaptureSessionPreset1280x720.

Qualcuno può far luce sul motivo per cui esiste questa differenza?

Ulteriori informazioni: La velocità di fotogramma per entrambi è di 30 fotogrammi al secondo.

Grazie

Chris

+0

Puoi pubblicare due file di esempio? – aergistal

+0

confronta le informazioni sui video restituiti da ffprobe (un programma da ffmpeg) –

risposta

3

Ipad A1489 è un Apple iPad mini 2 (Retina/2nd Gen) e A1566 è un Apple iPad Air 2.

Ipad mini 2 ha una fotocamera "iSight" da 5 megapixel mentre Ipad Air 2 ha una fotocamera "iSight" da 8 megapixel.

L'iPad Air 2 è stato trattato per una fotocamera da 8 megapixel iSight, che dà esso il 60% di pixel in più per lavorare con rispetto a iPad Air dello scorso anno e la sua shooter 5MP. Read more.

È la stessa telecamera iSight, vale per il passaggio da 5mp a 8mp.

Air2 sembra essere in grado di catturare il doppio fps (120) di mini 2.

Ci sono risposte interessanti per this question as to how does the video file size increase with fps.

Ma ciò è meno importante in quanto si utilizzano 30 fps a 1280x720 per entrambi.

Ciò che è importante è il bitrate.

Le velocità in bit riflettono direttamente la frequenza dei fotogrammi e le impostazioni di risoluzione delle telecamere. La dimensione del file è determinata dal bitrate. (la dimensione del file è la durata del bitrate).

Utilizzando un oggetto AVCaptureSession

si utilizza la proprietà sessionPreset per personalizzare il livello di qualità, bitrat per l'uscita. Le configurazioni più comuni di cattura sono disponibili tramite i preset di sessione; from the AvcCaptureSession docs

Per eventuali valori di sessionPreset, vedere Presets ingresso video. Il valore predefinito è AVCaptureSessionPresetHigh che

Specifica impostazioni di cattura adatti per video di alta qualità e l'audio uscita.

È stato utilizzato AVCaptureSessionPreset1280x720 che specifica le impostazioni di acquisizione adatte per l'uscita video di qualità 720p (1280x720 pixel).

I loro valori variano a seconda del dispositivo.

Ma AVCaptureSession è solo l'oggetto per coordinare il flusso di dati da un dispositivo di input AV a un'uscita.

Fino a qui si dispone di frame non compressi.

Si utilizza un oggetto AVCaptureVideoDataOutput per elaborare frame non compressi dal video acquisito. In genere si configurano diversi aspetti di un output.

Hai menzionato 30 fps, quindi presumo che tu abbia limitato la frequenza fotogrammi impostando lo minFrameDuration qui. puoi specificare il formato pixel usando la proprietà videoSettings. Ci sono molte proprietà che possono essere modificate a questo punto o quelle predefinite.

+0

Ciao, grazie per aver risposto, penso di aver capito i tuoi punti. Sto solo cercando di capire perché Se sto impostando AVCaptureSessionPreset1280x720 - perché otterrei dati diversi, non sono tutte le 1280 per 720 immagini uguali? – Chris

+0

La stessa res può avere dimensioni diverse. Pensa alla compressione. –

+0

Ho usato il termine data rate liberamente perché è un termine generico utilizzato per le misurazioni su un periodo di tempo –

2

Ecco i risultati dei miei test utilizzando due campioni acquisiti con i valori predefiniti (iPad Mini 2 FHD 30 fps e iPad Air 2 FHD 30 fps).

Questo è per Full HD ma mi aspetto risultati simili per HD.

  • Mini iPad 2 - A1489

    [Video] 
    Codec: AVC 
    Profile: [email protected] 
    Options: CABAC/1 ref. frame 
    Frame Rate: 29.970 
    Frame Rrate Mode: VFR (max. 30) 
    Color Space: YUV 4:2:0 (8 bit) 
    Scan Type: progressive 
    Bitrate: 14.3 Mbps 
    Bits-per-pixel: 0.231 
    
    [Audio] 
    Codec: AAC-LC 
    Sample rate: 44100 
    Channels: 1 
    Bitrate Mode: CBR 
    Bitrate: 64.0 Kbps 
    
  • iPad Air 2 - A1566

    [Video] 
    Codec: AVC 
    Profile: [email protected] 
    Options: CABAC/1 ref. frame 
    Frame Rate: 29.970 
    Frame Rrate Mode: VFR (max. 30) 
    Color Space: YUV 4:2:0 (8 bit) 
    Scan Type: progressive 
    Bitrate: 17.4 Mbps 
    Bits-per-pixel: 0.280 
    
    [Audio] 
    Codec: AAC-LC 
    Sample rate: 44100 
    Channels: 1 
    Bitrate Mode: CBR 
    Bitrate: 64.0 Kbps 
    

Come si può vedere l'unica cosa che è diversa è la bitrate con i valori più alti preferiscono iPad Air (17.4 Mbps vs 14.3 Mbps)

bitrate Perché più elevati?

Il passaggio a 17 Mbps per Full HD è stato probabilmente eseguito per competere con i camcorder AVCHD più diffusi e hanno aumentato quello HD per mantenere costante il livello di qualità. La mossa è supportata dal dispositivo con specifiche migliorate e, probabilmente, mediamente le tariffe portanti previste.

Un bitrate più elevato consente una migliore qualità del video risultante ed è importante soprattutto nel caso di video in movimento.

Il valore bit per pixel è un indicatore della qualità prevista rispetto alla velocità dei dati. Questa metrica varia in base al contenuto del video, ma come puoi vedere nel caso dei due campioni che sono girati nello stesso posto e sono molto simili è passato da 0.231 a 0.280 (maggiore è meglio). In teoria, per H.264/AVC è possibile regolare ciò che va oltre lo 0.200 per risparmiare larghezza di banda senza perdite di qualità.

opzioni di codifica Recording Custom (AVAssetWriter)

profili trattati saranno impostati automaticamente sulla base di versione del dispositivo e non si può controllare la maggior parte dei parametri.

Se si desidera ottimizzare la codifica, la documentazione di Apple consiglia di utilizzare la classe AVAssetWriter (source, vedere Registrazione).

È inoltre possibile utilizzare una libreria di terze parti per codificare il video non elaborato, ma molto probabilmente non sfrutteranno le funzionalità di codifica hardware del dispositivo.