MP4Writer

public class MP4Writer

MP4ファイルのライタークラス。 取得したビデオや音声サンプルを、MP4ファイルへ書き出すことができます。

  • MP4ファイルの出力先URL。

    Declaration

    Swift

    public let outputURL: URL
  • メディアライター。

    Declaration

    Swift

    public let writer: AVAssetWriter
  • ビデオ用インプット。

    Declaration

    Swift

    public let videoInput: AVAssetWriterInput
  • ビデオ用インプットアダプタ。

    Declaration

    Swift

    public let videoInputAdapter: AVAssetWriterInputPixelBufferAdaptor
  • 音声用インプット。

    Declaration

    Swift

    public let audioInput: AVAssetWriterInput
  • MP4ファイル書き出しのオプション。

    Declaration

    Swift

    public var writerOption: MP4WriterOption
  • 書き込み中かどうかのフラグ。

    Declaration

    Swift

    public private(set) var isWriting: Bool
  • セッションが開始済みがどうかのフラグ。

    Declaration

    Swift

    public private(set) var isStartSession: Bool
  • 書き込まれた基準時刻。

    Declaration

    Swift

    public private(set) var writeBaseTime: MediaTimestamp?
  • MP4Writer を生成します。

    Declaration

    Swift

    public init(url: URL, width: CGFloat, height: CGFloat, option: MP4WriterOption? = nil) throws

    Parameters

    url

    出力先URL

    width

    画像の幅

    height

    画像の高さ

    option

    MP4ファイル書き出しのオプション
    nil の場合、OSで定義されたデフォルトのビデオコーデックが選択されます。

  • 映像フレームを書き込みます。

    Declaration

    Swift

    public func writeVideoFrame(sample: CMSampleBuffer)

    Parameters

    sample

    書き込むビデオサンプルバッファー

  • 映像フレームを書き込みます。

    Declaration

    Swift

    public func writeVideoFrame(sample: CMSampleBuffer, timestamp: MediaTimestamp)

    Parameters

    sample

    書き込むビデオサンプルバッファー

    timestamp

    タイムスタンプ

  • 映像フレームを書き込みます。

    Declaration

    Swift

    public func writeVideoFrame(pixel: CVPixelBuffer)

    Parameters

    pixel

    書き込むビデオピクセルバッファー

  • 映像フレームを書き込みます。

    Declaration

    Swift

    public func writeVideoFrame(pixel: CVPixelBuffer, latency: TimeInterval)

    Parameters

    pixel

    書き込むビデオピクセルバッファー

    latency

    遅延時間

  • 音声サンプルを書き込みます。

    Declaration

    Swift

    public func writeAudioSample(sample: CMSampleBuffer)

    Parameters

    sample

    書き込む音声サンプルバッファー

  • 音声サンプルを書き込みます。

    Declaration

    Swift

    public func writeAudioSample(sample: CMSampleBuffer, timestamp: MediaTimestamp)

    Parameters

    sample

    書き込む音声サンプルバッファー

    timestamp

    タイムスタンプ

  • 書き出しを開始します。

    Declaration

    Swift

    public func startWriting() -> Bool

    Return Value

    書き出しが成功したか

  • 書き出しを終了します。

    Declaration

    Swift

    public func finishWriting(completion: @escaping (_ result: Bool, _ fileSize: Int?) -> ())

    Parameters

    completion

    処理完了時のコールバック

    result

    処理成功、失敗フラグ

    fileSize

    書き込まれたファイルサイズ