Узнайте кодек для QuickTime Movie
Мне было интересно, можно ли узнать, какой кодек используется для распаковки Quicktime Movie (например, h.264, motion jpeg..), предпочтительнее как NSString
, Я искал через Quicktime
а также QTKit
API и все атрибуты gettable безуспешны, но я уверен, что должен быть способ сделать это, но как?
1 ответ
Я думаю, что у вас есть эта проблема, потому что вы неправильно понимаете природу фильма Quicktime - не имеет смысла спрашивать, что такое кодек фильма, и именно поэтому вы не найдете его в документации к фильмам.,
Быстрые фильмы состоят из набора дорожек (например, видео дорожки, звуковой дорожки и т. Д.), И каждая дорожка ссылается на один или несколько носителей (фактические данные). Это носитель, сжатый определенным кодеком. Обычно фильм имеет видео дорожку и звуковую дорожку, например, каждый из которых будет сжат разными кодеками (возможно, h.264 и aac) - так что для всего фильма нет одного кодека.
Чтобы найти кодек, используемый для сжатия видеодорожки фильма (которая звучит так, как вы пытаетесь сделать), вам сначала нужно получить ссылку на эту дорожку из фильма, а затем получить ссылку на мультимедийную информацию этой дорожки, затем выясните кодек, используемый для этого носителя. Чтобы получить информацию о том, как сэмплы для определенного медиа-объекта хранятся, вам нужно использовать вызов getmediasampledescription.
Если вы используете QTKit, получите ссылку на носитель уровня C, вызвав [media quicktimeMedia] - тогда вы можете передать это getmediasampledescription, чтобы получить искомую информацию - 4-значный идентификатор кодека находится в поле cType возвращенное описание образца.
В этом сообщении о поддержке Apple есть пример кода:
http://lists.apple.com/archives/cocoa-dev/2005//Aug/msg00556.html