Технические вопросы и ответы QA1604

Создание медиа-файлов Apple TV, содержащих аудио AC 3 профессионала Dolby Digital

Q: Как я могу создать медиа-файлы для Apple TV, содержащие аудиотрек AC 3 Профессионала Dolby Digital?

A: Как я могу создать медиа-файлы для Apple TV, содержащие аудиотрек AC 3 Профессионала Dolby Digital?

Apple TV поддерживает воспроизведение .mov, и .m4v файлы, содержащие AC 3 Профессионала Dolby Digital, закодировали аудио.

Разработчики содержимого могут использовать в своих интересах Компрессор 3 и его возможность с Mac OS X 10.5 для автоматического создания Apple TV AC 3 совместимые .m4v файлы.

Разработчики приложений QuickTime могут использовать QTKit или QuickTime C APIs для сборки Apple TV совместимые .mov файлы, содержащие аудио AC 3 Профессионала Dolby Digital.

Расположение дорожек

Медиа-файлы Apple TV, содержащие AC 3 Профессионала Dolby Digital, должны соответствовать определенному расположению дорожек. Две Звуковых дорожки используются, и обоим нужно быть предоставлены:

Аудиотрек Стерео AAC должен казаться первым в медиа-файле и должен быть включен по умолчанию. AC 3 Профессионала Dolby Digital Окружает дорожку, должен появиться после дорожки Стерео AAC и должен быть отключен по умолчанию. Посмотрите рисунок 1.

Рисунок 1  QuickTime Pro окно свойств фильма.

В то время как это не строгое требование, знать, что, если оба аудиотрека имеют различные частоты дискретизации, Apple TV примет значение по умолчанию к частоте дискретизации AC 3, окружают аудиотрек. Если аудиотрек стерео AAC используется для воспроизведения и имеет различную частоту дискретизации от AC 3, окружают аудиотрек, например частота дискретизации дорожки AAC составляет 44.1 кГц, и дорожка AC 3 составляет 48 кГц, дорожка AAC будет частотой дискретизации, преобразованной в 48 кГц для вывода.

Для предотвращения этого преобразования частоты дискретизации устройством вывода авторы содержания должны закодировать оба аудиотрека в той же частоте дискретизации.

Когда Apple TV встречается с совместимым .m4v, или .mov файл создал использование вышеупомянутого расположения дорожек, аудиотрек AC 3 Профессионала Dolby Digital используется в передаче через режим. Другими словами, Apple TV передаст закодированные аудиоданные AC 3 Профессионала Dolby Digital непосредственно внешнему декодеру. Дорожка Стерео AAC используется, где просто вывод стерео требуется от устройства.

Создание медиа-файлов Apple TV, содержащих аудио AC 3

Используя компрессор

При использовании Компрессора 3.0.3 или позже Mac OS X 10.5, «H.264 для области кодера» Устройств Apple имеет флажок, позволяющий Вам включать дорожки AC 3 Профессионала Dolby Digital (с объемным звуком с 5.1 каналами) в медиа-файлах, предназначенных для воспроизведения Apple TV. Посмотрите рисунок 4.

Включать аудио AC 3 Профессионала Dolby Digital в медиа-файлы вывода Apple TV:

  • Примените установку «Apple Devices» к заданию в Окне пакета.

  • Выберите цель в Окне пакета.

Рисунок 2  установка устройств Apple для
окна пакета Apple TV.Figure 3
  .
  • В Инспекторе откройте область кодера «H.264 for Apple Devices».

  • Во всплывающем меню Устройства выберите опцию Apple TV. Пока Вашему компьютеру установили Mac OS X v10.5 Leopard, флажок, названный «, Включают систему Долби 5.1», появится у основания области.

  • Установите флажок «Include Dolby 5.1».

Рисунок 4  включает систему Долби 5.1 флажков.

Выходной медиа-файл будет включать дорожку AC 3 Профессионала Dolby Digital в дополнение к аудиотреку AAC по умолчанию. Аудиотрек AC 3 Профессионала Dolby Digital будет иметь объемный звук с 5.1 каналами (пять дискретных каналов плюс шестой канал для низкочастотных эффектов).

Используя QTKit

Разработчики могут легко создать носители Apple TV, содержащие аудио AC 3 Профессионала Dolby Digital путем сборки фильма в формате QuickTime (.mov) файл от предварительно закодированного Apple TV совместимый .m4v и Профессионал Dolby Digital .ac3 файлы.

Перечисление 1 демонстрирует, как собрать Apple TV совместимый фильм в формате QuickTime Файл (.mov).

Функция принимает Apple TV, совместимые носители были созданы и сохранены к .m4v файлу с помощью методов, обрисованных в общих чертах в Техническом примечании TN2188, 'Экспортировав Фильмы для iPod, Apple TV, iPad и iPhone' или при помощи приложения, такие как QuickTime Player Pro или Компрессор, и Профессионал Dolby Digital .ac3 аудиофайл был создан с помощью Компрессора или стороннего продукта.

Эти два медиа-файла тогда собраны в файл ролика с требуемым расположением дорожек, готовым синхронизировать с Apple TV.

Перечисление 1  

// AssembleAndFlattenATVMovieFile
// Paramters:
//           inATVMovie - a QTMovie created by importing an Apple TV conforming .m4v
//                        media file created with Compressor, QuickTime Pro, QTKit and so on.
//           inAC3AudioMovie - a QTMovie created by importing a Dolby Digital .ac3 audio file
//                             created using Compressor or 3rd party encoder capable of creating .ac3 files.
//
// Discussion:
//          Simply assembles an output .mov from the two QTMovie objects provided
// 
// This function adds the AC-3 encoded Audio Track to the passed in QTMovie containing
// Apple TV encoded media consisting of H.264 Video and AAC Audio.
// The resulting flattened .mov file will have the required Apple TV track layout:
//         Two tracks: AAC stereo (must be the first track) and be enabled
//                     AC-3 track for surround (must appear after the AAC track) and be disabled
void AssembleAndFlattenATVMovieFile(QTMovie *inATVMovie, QTMovie *inAC3AudioMovie)
{
    // add the AC-3 audio to the source movie which contains the ATV encoded video and AAC audio
    // QTMovie currently has no public method wrapping AddMovieSelection so we need to use the C API here
    AddMovieSelection([inATVMovie quickTimeMovie], [inAC3AudioMovie quickTimeMovie]);

    // just make sure the added 2nd audio track is the AC-3 track and if everything checks out
    // disable the track, then flatten the contents to an output .mov file
    NSArray *audioTracks = [inATVMovie tracksOfMediaType:QTMediaTypeSound];
    QTTrack *ac3AudioTrack = [audioTracks objectAtIndex:1];
    QTMedia *media = [ac3AudioTrack media];
    SampleDescriptionHandle desc = (SampleDescriptionHandle)NewHandle(0);

    GetMediaSampleDescription([media quickTimeMedia], 1, desc);

    if ((*desc)->dataFormat == 'ac-3') {
        // disable the AC-3 audio track
        [ac3AudioTrack setEnabled:NO];

        // create settings for movie flattening, we do not need or want to re-compress any of the media
        NSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];
        [attributes setObject:[NSNumber numberWithBool:YES] forKey:QTMovieFlatten];

        // write out the .mov file
        if (![inATVMovie writeToFile:@"/Users/Shared/ATV_Output.mov" withAttributes:attributes]) {
            NSRunAlertPanel(@"Error", @"Error exporting movie.", nil, nil, nil);
        }
    } else {
        NSRunAlertPanel(@"Error", @"Error during movie assembly.", nil, nil, nil);
    }

    DisposeHandle((Handle)desc);
}

Использование в качестве примера

Как пример того, как вышеупомянутая функция может использоваться, мы запускаем с файла фильма в формате QuickTime, содержащего 4 канала аудио. Каждая Звуковая дорожка маркируется соответственно; Левый, Правильный, Левый Окружают, и Право Окружают соответственно.

  Исходные свойства фильма рисунка 5.

От этого файла первоисточника мы должны создать Apple TV, совместимый файл ролика, содержащий H.264, закодировал видео для Apple TV, аудиотрек AAC Стерео и AC 3 Профессионала Dolby Digital закодировали аудиотрек.

Как упомянуто в предыдущем разделе, собирая файл ролика окончательного результата требует двух исходных файлов:

Мы будем использовать Компрессор для создания этих файлов, так как он предлагает очень простой способ произвести оба из требуемых исходных файлов одновременно.

Разработчики могут использовать код, представленный в Техническом примечании TN2188, 'Экспортируя Фильмы для iPod, Apple TV, iPad и iPhone', QuickTime Player Pro или любое другое приложение сторонних производителей для создания .m4v файла, содержащего Apple TV совместимое видео H.264 и аудиотрек стерео AAC. Если Вы уже произвели Apple TV совместимые .m4v файлы с помощью других инструментов, Компрессор может все еще использоваться для создания Профессионала Dolby Digital .ac3 файл от материала первоисточника.

  Конфигурация задания компрессора рисунка 6.

Компрессор создаст два файла с помощью вышеупомянутого задания configurationl, показанный на рисунке 7.

  Файлы рисунка 7, создаваемые компрессором.

Эти два файла могут быть собраны с помощью кода от Перечисления 1, производящего заключительный файл ролика. Этот файл ролика будет содержать видео и и AAC и аудио AC 3 Профессионала Dolby Digital, готовое к Apple TV.

Свойства Фильма финала собрались и сгладились, файл фильма в формате QuickTime показаны на рисунке 8. Этот файл готов синхронизировать с Apple TV.

Рисунок 8  
Figure 8 Art/qa1604_FinalMovieProperties.png

Ссылки



История версии документа


ДатаПримечания
19.05.2008

Передовая статья

14.05.2008

Новый документ, обсуждающий, как создать медиа-файлы, содержащие аудио AC 3 для Apple TV с помощью Компрессора и QTKit.