저는 현재 pyxjc를 사용하여 퀵타임을 처리하는 스크립트를 작성하고 있습니다. (실제 목적으로는 다른 하나의 간단한 스크립트 만 작성했습니다 -c). addImage_forDuration_withAttributes_()를 사용하여 이미지에 대해 동일한 코덱을 제대로 사용할 수 있도록 퀵타임의 코덱의 네 가지 문자 OSType을 결정할 수 있어야합니다.pyobjc에서 UTType 형식의 코덱 OSType 가져 오기
pyobjc는 obj-c 프레임 워크에만 액세스 할 수 있으므로 그것으로부터 C 함수에 접근하지 마라. 나는 내가 이런 식으로 뭔가를 원하는 있으리라 믿고있어이 코덱 '을 AVdn'이 될 것 OSTYPE를 얻을 필요가이 시점에서
from objc import YES, NO, nil
from Cocoa import *
from QTKit import *
movieAttribs = {
QTMovieOpenAsyncOKAttribute: NSNumber.numberWithBool_(NO),
QTMovieEditableAttribute: NSNumber.numberWithBool_(YES),
QTMovieFileNameAttribute: "quicktime.mov"
}
clip, err = QTMovie.movieWithAttributes_error_(movieAttribs, None)
track = clip.tracks()[0]
print track.format()
# u'Avid DNxHD Codec'
: 나는 코덱의 문자열 형식 UTType을 얻을 수 있어요 : https://developer.apple.com/library/mac/#documentation/MobileCoreServices/Reference/UTTypeRef/Reference/reference.html는하지만 pyobjc에 대한 액세스 권한이없는
내 최후의 수단이 같은 뭔가 qt_thing에 밖으로 껍질하는 것입니다
qt_thing --type=imco | grep "AVID DNxHD Codec" | awk -F: '{print $2}'
# Result: AVdn
을하지만이 느린 내가 오히려 코드에서 모든 것을 할 것 . 나는 물건의 코코아/QTKit 측면에서 나에게 가능한 것을 놓치고 있어야한다. 경험이있는 사람은 누구입니까?
코 피어를 해결하기 위해 C api를 사용하여 참조하는 또 다른 질문이 있습니다. Find out the Codec for a Quicktime Movie,하지만 분명히 내가 알고있는 한 pyobjc을 직접 만들 수는 없습니다.
나는 이것을 시도했으며 반환 된 OSType은 정수 ID이다. 4 자 유형을 얻는 방법에 대한 예가 있습니까? 예를 들어,이 예제를 h.264 퀵타임에 대해 실행하면 궁극적으로'avc1'을 얻으려고합니다. 숫자 ID를 문자열로 변환하는 방법이 있습니까? – jdi