objective-c、swiftにてWEBカメラなどから取得した画像をopencvで加工し、FFmpegにリアルタイムで流し込みたいです。
キャプチャ・加工まではできたのですが、FFmpegにデータを受け取らせる部分がうまく行きません。何かうまい方法はありませんでしょうか?
NSpipeを使って、データを標準入力として以下のようなソースを書きましたがうまくいきませんでした。
宜しくお願いします。
var mypipe:NSPipe?
func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) {
//henkanは加工した画像をNSdata型で受け取るメソッドとします
mypipe?.fileHandleForWriting.writeData(henkan(sampleBuffer))
}
func StartFFmpeg() {
//呼び出すアプリケーションを定義
let cmd = "/bin/ffmpeg"
task.launchPath = cmd
//呼び出す際のオプションを定義
task.arguments = ["-y","-f","rawvideo","-vcodec","rawvideo","-pix_fmt","bgr24","-s","2048x1024","-i","pipe:0","-acodec","aac","-vcodec","libx264","-pix_fmt","yuv420p","-f","flv","ffff.flv"]
task.standardInput = mypipe
//タスクの開始
task.launch()
}
あなたの回答
tips
プレビュー