2009-04-23 11 views
2

I MyRecorder Probe von QTKit verwendet, zeichnet er alles, aber ich habe ein Problem, dass meine Kamera PAL und die Auflösung von H264-Codierung für PAL und NTSC verschieden ist. PAL ist 724x568 und NTSC ist 724x480.QTKit PAL-Modus

Wenn ich QT Profile für H264High wähle, nimmt es standardmäßig nur 724x480 NTSC-Auflösung Ausgabedatei aber meine Kamera ist 724x568, so dass die endgültige Ausgabe viele unerwünschte horizontale Linien zwischen sich bewegenden Objekten hat.

Ich weiß, dass das Problem nur Einstellungen für die Auflösung ist aber QTKit ist so eng codiert, gibt es keine Einstellungen alle Geberparameter zu ändern.

Allerdings empfiehlt Apfel QTKit zu verwenden, nur anstelle der früheren Sequenz Grabber Ansatz, aber unsere große Kundenbasis wird nur PAL-Kameras haben und wir brauchen eine Lösung PAL-Auflösung zu ermöglichen. Kann uns jemand führen?

Antwort

2

Es sieht nicht so aus ihr eine einfache Möglichkeit, dies ab sofort mit QTKit zu tun. nur

Mit QTKit Sie ein paar Möglichkeiten:

  1. Was könnten Sie tun, ist einfach Strom der Daten von der Kamera in einen Quicktime-Filme QTCompressionOptionsLosslessAnimationVideo verwenden und dann die Datei in H.264 konvertieren bei die gewünschte Auflösung mit der QTMovie-Klasse. Diese Option benötigt viel Speicherplatz, ist aber ziemlich einfach.

  2. Verwenden QTCaptureDecompressedVideoOutput statt QTCaptureMovieFileOutput, und wenn Sie den Anruf outputVideoFrame:withSampleBuffer:fromConnection: erhalten, die Video-Frames in einem Thread sichere Warteschlange puffern. Ziehen Sie dann in einem sekundären Thread aus dieser Warteschlange und fügen Sie den Rahmen zu einem QTMovie hinzu, den Sie für die H.264-Codierung mit Ihrer PAL-Auflösung eingerichtet haben.

Ansatz 2 werden Sie den Speicherplatz sparen, ist aber ein bisschen mehr Arbeit, und Sie werden über Threading Sorgen kümmern müssen, aber bis es mehr Optionen für uns in der Klasse QTCaptureMovieFileOutput verfügbar sind, die die beste ist du kannst tun.

+0

Danke, kippe ich erste Option verwenden, weil es zu viel Zeit in Anspruch nehmen wird von der Festplatte zu speichern und erst dann lesen und zurückzuverwandeln in h264 dauert länger Zeit dann das aufgenommene Videos. Wir haben diese Option ausprobiert und es stellt sich heraus, dass wir 5 Minuten Video aufnehmen, die Rückumwandlung in h264 dauert 6 Minuten, und so weiter, wenn wir 100 Videos von 5 Minuten haben, dauert es zu lange, ich möchte die zweite Option erkunden geben Sie mir oder führen Sie mich auf Codebeispiel, ich bin neu auf iMac Dev. –