Узнайте кодек для QuickTime Movie - PullRequest
0 голосов
/ 30 апреля 2011

Мне было интересно узнать, можно ли узнать, какой кодек используется для распаковки Quicktime Movie (например, h.264, motion jpeg ..), предпочтительно, как NSString. Я искал через API Quicktime и QTKit и все атрибуты gettable безуспешно, но я уверен, что должен быть способ сделать это, но как?

1 Ответ

2 голосов
/ 13 мая 2011

Я думаю, что у вас возникла эта проблема, потому что вы неправильно понимаете природу фильма Quicktime - не имеет смысла спрашивать, что такое кодек фильма, и поэтому вы не можете найти его вдокументация для фильмов.

Фильмы Quicktime состоят из коллекции дорожек (например, видео дорожка, звуковая дорожка и т. д.), и каждая дорожка ссылается на один или несколько media (фактические данные).Это носитель, сжатый определенным кодеком.Обычно фильм имеет видео дорожку и звуковую дорожку, например, каждый из которых будет сжат разными кодеками (возможно, h.264 и aac) - так что один кодек длявесь фильм.

Чтобы найти кодек, используемый для сжатия видеодорожки фильма (которая звучит как то, что вы пытаетесь сделать), вам нужно сначала получить ссылку на эту дорожку из фильма, а затем получитьссылку на носитель с этой дорожкой, затем найдите кодек, используемый для этого носителя.Чтобы получить информацию о том, как хранятся образцы для конкретного медиа-объекта, вам нужно использовать вызов getmediasampledescription .

Если вы используете QTKit, получите ссылку на носитель уровня C, позвонив по адресу [media quicktimeMedia] - затем вы можете передать это в getmediasampledescription, чтобы получить искомую информацию - 4-значный идентификатор кодеканаходится в поле cType возвращенного описания примера.

В этом списке поддержки Apple есть небольшой пример кода:

http://lists.apple.com/archives/cocoa-dev/2005//Aug/msg00556.html

...