2013-01-13 1 views
0

기존 영화에 자막을 추가하려고하는데 모든 것이 투명해야하는 자막 트랙의 배경을 제외하고 예상대로 작동하는 것 같습니다. QTKit을 사용하여 QTMedia/QTTrack의 알파 모드를 설정하는 방법

MediaHandler media = GetMediaHandler([[subtitlesTrack media] quickTimeMedia]); 
MediaSetGraphicsMode(media, graphicsModeStraightAlpha, NULL); 

는 이미 위의 코드는 here을 발견하지만 난 GetMediaHandler 및 MediaSetGraphicsMode 기능을 사용 할 수 없습니다 노력했다. 어쩌면 제가 포함 된 일부를 잃어 버렸을 수도 있습니다.

가능한 경우 QTKit 프레임 워크 만 사용하는 것이 좋습니다.

+0

64 비트 또는 32 비트를 타겟팅합니까? 대부분의 오래된 퀵타임은 64 비트로 제공되지 않습니다. QTKit (Objective-C 기반 프레임 워크) 만 64 비트로 사용할 수 있습니다. –

+0

64 비트 플랫폼을 대상으로합니다. 그래서 내가 C API를 사용할 수 없다는 뜻입니까? 그렇지 않다면 QTKit을 사용하여 동일한 작업을 수행 할 수있는 방법이 있습니까? –

+0

정확 : 64 비트 앱은 이전 C QuickTime API를 사용할 수 없습니다. 나는 QTKit으로 이것을 할 수있는 방법을 모른다. AVFoundation을 살펴볼 수도 있지만 AVFoundation을 사용하는 * 자막은 여전히 ​​아직 해결되지 않은 미스테리입니다. –

답변

1

32 비트 Mac 응용 프로그램에서이 코드를 사용하는 경우 알파 투명도가 정상적으로 작동하도록하려면 MediaSetGraphicsMode()의 두 번째 매개 변수는 graphicsModePreBlackAlpha 여야합니다.

graphicsModeStraightAlpha를 사용하는 경우 QuickTime 미디어로 압축 한 비디오 프레임에는 적어도 Mac OS 10.10.5 이상에서는 알파 채널이 없습니다.

또한 알파 채널을 지원하는 비디오 코덱을 사용해야합니다. 모든 비디오 채널이 지원되는 것은 아닙니다.

관련 문제