0

ここで私はビデオを記録して出力バッファを処理しようとしています.avfoundationカメラを使用してビデオを記録し、サンプルバッファデリゲートメソッドで出力を収集し、その出力を画像ビューに表示しています.すべてが機能しますが、ここからビデオを保存する方法誰でも私を助けてください。

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection;{
  UIImage *image = [self imageFromSampleBuffer:sampleBuffer];
  UIImage *fImage = [self addText:image text:@"u r text here"];//image will be processed   here
   self.dispFrames.image = fImage;

   }
4

2 に答える 2

0

Audio/Video 入力を使用して AVAssetWriter をセットアップし、サンプル バッファを追加する必要があります。このサンプルコード、RosyWriterVideoProcessor クラスをチェックアウトでき ます

于 2013-09-03T03:23:20.453 に答える
0

Swift 5 AVFoundation でサンプルプロジェクトを書いています。写真とビデオのカメラが 1 つのコントローラーに。フロントカメラとバックカメラの切り替え機能付き。このリンクで確認してください

プロジェクトからのビデオ出力コード:

func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
    let showMediaController = ShowMediaController()
    showMediaController.url = outputFileURL
    navigationController?.pushViewController(showMediaController, animated: true)
}

ShowMediaConroller では、新しいビデオの URL を取得して再生できます。

@objc private func handlePlay() {
    if let url = url {
        player = AVPlayer(url: url)
        playerLayer = AVPlayerLayer(player: player)
        playerLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
        playerLayer?.frame = view.frame
        view.layer.insertSublayer(playerLayer!, at: 2)
        player?.play()
        playButton.isHidden = true
    }
}
于 2019-12-14T05:14:49.633 に答える