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
書き込まれたファイルサイズ