Sto cercando di utilizzare AVCaptureSession per acquisire video dalla telecamera e quindi vorrei utilizzare AVAssetWriter per scrivere i risultati in un file (in particolare, utilizzare più AVAssetWriters per scrivere l'acquisizione in video di blocchi, ma non è necessario complicare questa domanda con quello). Tuttavia, ho difficoltà a capire dove i dati devono essere effettivamente passati a AVAssetWriter. Nella documentazione per gli sviluppatori Apple ho visto solo i dati di AVCaptureSession passati a un AVCaptureFileOutput. Forse mi manca qualcosa però. È possibile utilizzare AVAssetWriter come output della sessione di acquisizione? Un esempio rilevante o un bit di codice (anche se non necessario) sarebbe apprezzato. Grazie mille!AvFoundation - Come connettere AVCaptureSession e AVAssetWriter?
risposta
Qual è il tuo obiettivo, esattamente? Perché stai chiedendo (l'uso di un AVAssetWriter come output per una AVCaptureSession) non è possibile.
Fondamentalmente, un oggetto AVCaptureSession
dispone di input (ad esempio una telecamera, rappresentata da alcune sottoclasse AVCaptureInput
) e di uscite (nel formato di AVCaptureOutput
). E una AVAssetWriter
non è una sottoclasse AVCaptureOutput
, quindi non c'è modo di usarla direttamente da una AVCaptureSession.
Se si desidera utilizzare un AVAssetWriter, dovrete scrivere i dati utilizzando un'istanza AVCaptureFileOutput
, e poi leggere di nuovo con una AVAssetReader
, modificare i propri dati in qualche modo, e poi uscita tramite un AVAssetWriter
.
Ultima cosa da tenere a mente: AVAssetReader
è documentato per non garantire le operazioni in tempo reale.
Dai uno sguardo allo http://www.gdcl.co.uk/2013/02/20/iOS-Video-Encoding.html. Questo mostra come connettere l'output di acquisizione con il writer di asset e quindi estrae i dati dal writer di asset per lo streaming.
G
- 1. Come si usa AVAssetWriter?
- 2. Segmenti continui AVAssetWriter
- 3. differenze telecamera tra UIImagePickerController e AVCaptureSession su iPhone
- 4. Come si usa AVAssetWriter per scrivere l'audio AAC in ios?
- 5. Miscelazione di immagini e video utilizzando AVFoundation
- 6. iPhone 4 AVFoundation: acquisizione simultanea da fotocamere anteriori e posteriori
- 7. Errore sconosciuto AVAssetWriter
- 8. Come connettere e interrogare MySQL da Lua?
- 9. Come utilizzare la risoluzione video personalizzata quando si usano AVFoundation e AVCaptureVideoDataOutput su mac
- 10. Ottieni output da AVCaptureSession in Swift per inviare al server
- 11. UIImagePicker e AVCaptureSession accedono contemporaneamente alla telecamera
- 12. Utilizzo vibrazione e AVCaptureSession allo stesso tempo
- 13. Utilizzo di AVCaptureSession e AVAudioPlayer insieme
- 14. AVCaptureSession e AVCaptureMovieFile Timestamp frame di uscita
- 15. AVAssetWriter Come scrivere/campionare file m4a/mp3
- 16. AVFoundation - come specchio di video da webcam - Mac OS X
- 17. AVAssetWriter ignora il valore di trasformazione
- 18. HDR con AVFoundation
- 19. Implementazione HDR in AVCaptureSession
- 20. Codifica video usando AVAssetWriter - CRASHES
- 21. ios AVFoundation toccare per mettere a fuoco
- 22. __copy_helper_block_ crash in AVFoundation
- 23. AVFoundation, tagliare i bordi nel livello di anteprima
- 24. L'audio farà terminare AVCaptureSession
- 25. AVFoundation iOS 5
- 26. Animazione dell'otturatore AVFoundation iphone
- 27. AVFoundation: inversione di un file AVA e uscita del file video
- 28. Come scattare foto quadrate in iphone con avFoundation come nell'app Instagram?
- 29. Livello anteprima fotocamera AVFoundation non funzionante
- 30. Come connettere boto con fakes3
Hmm, interessante. Stavo cercando di andare fuori da ciò che ho trovato nella risposta [qui] (http://stackoverflow.com/questions/13851481/http-live-streaming-server-on-iphone) e i commenti di upvoted [qui] (http: //stackoverflow.com/questions/3444791/streaming-video-from-an-iphone) (tra gli altri) per cui suggeriscono che lo streaming può essere ottenuto creando due AVAssetWriters e usandoli uno alla volta. – golmschenk
Questo sembra essere, in base alla mia ricerca, il modo più comune in cui viene realizzato lo streaming di video di una telecamera live da un iphone. Ora che ne hai parlato, sono più confuso sul motivo per cui questo è il metodo suggerito ... – golmschenk
Non hai bisogno di usare un 'AVAssetWriter' per spezzare il video in blocchi di 10 secondi. Puoi farlo con 'AVCaptureMovieFileOutput'; imposta la proprietà 'maxRecordedDuration' su 10s e riavvia la registrazione (in un nuovo file) in' -captureOutput: didFinishRecordingToOutputFileAtURL: fromConnections: error: 'per ottenere i successivi 10s. – zadr