Часто задаваемые вопросы
Какие виды кодеров поддерживаются?
Спецификация протокола не ограничивает выбор кодера. Однако текущая реализация Apple должна взаимодействовать с кодерами, производящими Транспортные Потоки MPEG 2, содержащие видео H.264 и аудио AAC (HE-AAC или AAC-LC). Кодеры, которые способны к широковещательной передаче потока вывода по UDP, должны также быть совместимы с текущей реализацией предоставленного segmenter программного обеспечения Apple.
Каковы специфические особенности форматов видео и поддерживаемых форматов аудио?
Несмотря на то, что спецификация протокола не ограничивает форматы видео и форматы аудио, текущая поддержка внедрения Apple следующие форматы:
Видео:
Базовый уровень 3.0 H.264, базовый уровень 3.1, основной уровень 3.1, и высоко профилируют уровень 4.1.
Аудио:
HE-AAC или AAC-LC до 48 кГц, аудио стерео
MP3 (Уровень 3 Аудио MPEG 1) от 8 кГц до 48 кГц, аудио стерео
AC 3 (для Apple TV, только в режиме передачи)
Каковы продолжительность медиа-файлы должны быть?
Основной момент для рассмотрения - то, что более короткие сегменты приводят к более частым обновлениям индексного файла, который мог бы создать ненужную сеть наверху для клиента. Более длинные сегменты расширят свойственную задержку широковещательной передачи и начальное время запуска. Продолжительность 10 секунд носителей на файл, кажется, устанавливает удовлетворительное равновесие для больше всего широковещательного содержания.
Сколько файлов должно быть перечислено в индексном файле во время непрерывного, продолжающегося сеанса?
Нормальная рекомендация равняется 3, но оптимальное число может быть больше.
Важный момент для рассмотрения при выборе оптимального числа - то, что число файлов, доступных во время живого сеанса, ограничивает поведение клиента при выполнении игры/паузы и поиске операций. Чем больше файлов в списке, тем дольше клиент может быть приостановлен, не теряя его место в широковещательной передаче, далее назад в широковещательной передаче новый клиент, начинается при присоединении к потоку, и шире диапазон времени, в котором может искать клиент. Компромисс - то, что более длительный индексный файл добавляет к сети наверху — во время прямых репортажей, клиенты все обновляют индексный файл регулярно, таким образом, это действительно складывает, даже при том, что индексный файл является обычно небольшим.
Какие скорости передачи данных поддерживаются?
Скорость передачи данных, которую контент-провайдер выбирает для потока, больше всего под влиянием целевой клиентской платформы и ожидаемой топологии сети. Сам протокол потоковой передачи не помещает ограничений на скорости передачи данных, которые могут использоваться. Текущая реализация была протестирована с помощью потоков аудио-видео со скоростями передачи данных всего 64 Кбит/с и целых 3 Мбит/с к iPhone. Потоки только для аудио в 64 Кбит/с рекомендуются как альтернативы для поставки по медленным сотовым соединениям.
Для рекомендуемых скоростей передачи данных посмотрите Подготовку Носителей для Поставки основанным на iOS Устройствам.
Что такое .ts файл?
A
.ts
файл содержит Транспортный Поток MPEG 2. Это - формат файла, инкапсулирующий ряд закодированных выборок носителей — обычно аудио и видео. Формат файла поддерживает множество форматов сжатия, включая аудио MP3, аудио AAC, видео H.264, и т.д. Не все форматы сжатия в настоящее время поддерживаются в Apple HTTP Живая реализация Потоковой передачи, как бы то ни было. (Для списка в настоящее время поддерживаемых форматов посмотрите Кодер Носителей.Транспортные Потоки MPEG 2 являются контейнерами и не должны быть перепутаны со сжатием MPEG 2.
Что такое.M3U8 файл?
.M3U8
файл является расширяемым форматом файла списка воспроизведения. Это - m3u список воспроизведения, содержащий закодированный текст UTF-8. m3u формат файла является фактическим стандартным форматом списка воспроизведения, подходящим для переноса списков медиа-файла URLs. Это - формат, используемый в качестве индексного файла для HTTP Живая Потоковая передача. Для получения дополнительной информации см. Интернет-проект IETF HTTP Живая спецификация Потоковой передачи.Как клиентское программное обеспечение определяет, когда переключить потоки?
Текущая реализация клиента наблюдает эффективную ширину полосы пропускания при игре потока. Если поток более высокого качества доступен, и пропускная способность кажется достаточной для поддержки его, клиент переключается на более высокое качество. Если поток более низкого качества доступен, и текущая пропускная способность кажется недостаточной для поддержки текущего потока, клиент переключается на более низкое качество.
Где я могу найти копию мультимедийного потока segmenter от Apple?
Мультимедийный поток segmenter, поток файла segmenter и другие инструменты часто обновляется, таким образом, необходимо загрузить текущую версию HTTP Живые Инструменты Потоковой передачи от веб-сайта Разработчика Apple. Посмотрите Загрузку Инструменты для подробных данных.
Какие настройки рекомендуются для типичного потока HTTP, с альтернативами, для использования с носителями segmenter от Apple?
Посмотрите Подготовку Носителей для Поставки основанным на iOS Устройствам.
Эти настройки являются текущими рекомендациями. Существуют также определенные требования. Ток
mediastreamsegmenter
инструмент работает только с Транспортными Потоками MPEG 2, как определено в ISO/IEC 13818. Транспортный поток должен содержать H.264 (MPEG 4, часть 10) видео и аудио MPEG или AAC. Если аудио AAC используется, оно должно иметь заголовки ADTS. Устройства доступа видео H.264 должны использовать Разделитель Устройства доступа NALs и должны быть в уникальных пакетах PES.segmenter также имеет много пользовательских конфигурируемых параметров. Можно получить список параметров командной строки и их значений путем ввода
man mediastreamsegmenter
от Терминального приложения. Если никакая целевая продолжительность не указана, целевая продолжительность (длина участков среды) 10 секунд рекомендуется, и является значением по умолчанию.Как я могу указать, какие кодеки или профиль H.264 требуются, чтобы воспроизводить мой поток?
Используйте
CODECS
атрибутEXT-X-STREAM-INF
тег. Когда этот атрибут присутствует, он должен включать все кодеки и профили, требуемые воспроизвести поток. Следующие значения в настоящее время распознаются:AAC-LC
"mp4a.40.2"
HE-AAC
"mp4a.40.5"
MP3
"mp4a.40.34"
Базовый уровень 3.0 Профиля H.264
"avc1.42001e"
или"avc1.66.30"
Примечание: Использовать
"avc1.66.30"
для совместимости с версиями iOS 3.0 к 3.1.2.Базовый уровень 3.1 Профиля H.264
"avc1.42001f"
H.264 Основной уровень 3.0 Профиля
"avc1.4d001e"
или"avc1.77.30"
Примечание: Использовать
"avc1.77.30"
для совместимости с версиями iOS 3.0 к 3,12.H.264 Основной уровень 3.1 Профиля
"avc1.4d001f"
H.264 Основной уровень 4.0 Профиля
"avc1.4d0028"
H.264 Высокий уровень 3.1 Профиля
"avc1.64001f"
H.264 Высокий уровень 4.0 Профиля
"avc1.640028"
H.264 Высокий уровень 4.1 Профиля
"avc1.640028"
Значение атрибута должно быть в кавычках. Если многократные значения указаны, один набор кавычек используется для содержания всех значений, и значения разделяются запятыми. Пример следует.
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000, RESOLUTION=720x480
mid_video_index.M3U8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=800000, RESOLUTION=1280x720
wifi_video_index.M3U8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=3000000, CODECS="avc1.4d001e,mp4a.40.5", RESOLUTION=1920x1080
h264main_heaac_index.M3U8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=64000, CODECS="mp4a.40.5"
aacaudio_index.M3U8
Как я могу создать поток только для аудио из ввода аудио-и видеосигнала?
Добавьте
-audio-only
параметр при вызове потока или файлов segmenter.Как я могу добавить неподвижное изображение к потоку только для аудио?
Используйте
-meta-file
параметр при вызове потока или файла segmenter с-meta-type=picture
добавить изображение к каждому сегменту. Например, это добавило бы изображение, названное poster.jpg к каждому сегменту аудиопотока, создаваемого из файла track01.mp3:mediafilesegmenter -f
/Dir/outputFile-a --meta-file=poster.jpg --meta-type=picture track01.mp3
Помните, что изображение обычно снова посылается каждые десять секунд, поэтому лучше сохранять размер файла небольшим.
Как я могу указать альтернативу только для аудио к потоку аудио-видео?
Используйте
CODECS
иBANDWIDTH
атрибутыEXT-X-STREAM-INF
тегируйте вместе.BANDWIDTH
атрибут указывает пропускную способность, требуемую для каждого альтернативного потока. Если доступная пропускная способность достаточно для аудио альтернативы, но недостаточно для самой низкой видео альтернативы, клиент переключается на аудиопоток.Если
CODECS
атрибут включен, он должен перечислить все кодеки, требуемые играть поток. Если только аудиокодек указан, поток идентифицируется как только для аудио. В настоящее время это не требуется, чтобы указывать, что поток только для аудио, таким образом, использованиеCODECS
атрибут является дополнительным.Следующее является примером, указывающим видеопотоки в 500 Кбит/с для быстрых соединений, 150 Кбит/с для более медленных соединений и потоке только для аудио в 64 Кбит/с для очень медленных соединений. Все потоки должны использовать то же аудио на 64 Кбит/с для разрешения переходов между потоками без слышимого нарушения.
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000, RESOLUTION=1920x1080
mid_video_index.M3U8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=150000, RESOLUTION=720x480
3g_video_index.M3U8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=64000, CODECS="mp4a.40.5"
aacaudio_index.M3U8
Каковы требования к аппаратным средствам или рекомендации для серверов?
Посмотрите вопрос № 1 для рекомендаций по аппаратным средствам кодера.
Поток Apple segmenter способен к работе любого основанного на Intel Mac. Мы рекомендуем использовать Mac с двумя интерфейсами сети Ethernet, такими как Mac Pro или XServe. В то время как второй сетевой интерфейс может обеспечить доступ к более широкой сети, один сетевой интерфейс может использоваться для получения закодированного потока из локальной сети.
Реализация Apple HTTP Живая поддержка Потоковой передачи DRM?
Нет. Однако носители могут быть зашифрованы, и ключевой доступ может быть ограничен путем требования аутентификации, когда клиент получает ключ от сервера HTTPS.
Какие клиентские платформы поддерживаются?
iPhone, iPad и iPod touch (требует версии 3.0 iOS или позже), Apple TV (версия 2 и позже), и компьютеры Mac OS X.
Действительно ли спецификация протокола доступна?
Да. Спецификация протокола является Интернет-проектом IETF, в http://tools .ietf.org/html/draft-pantos-http-live-streaming.
Клиентское содержимое кэша?
Индексный файл может содержать инструкцию клиенту, что не должно кэшироваться содержание. Иначе, клиент может данные кэша для оптимизации производительности при поиске в носителях.
Действительно ли это - система доставки в реальном времени?
Нет. Это имеет свойственную задержку, соответствующую размеру и продолжительности медиа-файлов, содержащих потоковые сегменты. По крайней мере один сегмент должен полностью загрузить, прежде чем он сможет быть просмотрен клиентом, и два может потребоваться, чтобы гарантировать бесшовные переходы между сегментами. Кроме того, кодер и segmenter должны создать файл из ввода; продолжительность этого файла является минимальной задержкой, прежде чем носители будут доступны для скачивания. Типичная задержка с рекомендуемыми настройками находится в окружении 30 секунд.
Какова задержка?
Приблизительно 30 секунд, с рекомендуемыми настройками. Посмотрите вопрос № 15.
Я должен использовать аппаратный кодер?
Нет. Используя спецификацию протокола, возможно реализовать кодер программного обеспечения.
Какие преимущества этот подход имеет по RTP/RTSP?
HTTP, менее вероятно, будет запрещен маршрутизаторами, NAT или настройками брандмауэра. Никакие порты не должны быть открыты, которые обычно закрываются по умолчанию. Содержание, поэтому более вероятно, пройдет клиенту в большем количестве расположений и без специальных настроек. HTTP также поддерживается большим количеством сетей распределения контента, которые могут влиять на стоимость в больших моделях распределения. В целом более доступное аппаратное и программное обеспечение работает неизмененное и, как предназначено с HTTP, чем с RTP/RTSP. Экспертные знания в настройке инструментов использования доставки контента HTTP, таких как PHP также более широко распространены.
Кроме того, HTTP Живая Потоковая передача поддерживается в Safari и платформе медиапроигрывателя на iOS. Потоковая передача RTSP не поддерживается.
Почему полная скорость передачи моего потока выше, чем сумма аудио и видео скоростей передачи?
Транспортные потоки MPEG 2 могут включать существенные издержки. Они используют фиксированные размеры пакета, дополняющиеся, когда содержимое пакета меньше, чем размер пакета по умолчанию. Кодер и реализации мультиплексора варьируются по их эффективности при упаковке данных носителей в эти фиксированные размеры пакета. Сумма дополнения может меняться в зависимости от частоты кадров, частоты дискретизации и разрешения.
Как я могу сократить издержки и перевести скорость передачи в нерабочее состояние?
Используя более эффективный кодер может сократить сумму издержек, как может, настраивая настройки кодера.
Все медиа-файлы должны быть частью того же Транспортного Потока MPEG 2?
Нет. Можно смешать медиа-файлы от различных транспортных потоков, пока они разделяются
EXT-X-DISCONTINUITY
теги. См. спецификацию протокола для большего количества подробности. Для лучших результатов, однако, все видео медиа-файлы должны иметь те же размерности высоты и ширины в пикселях.Где я могу получить справку или уведомление относительно установки аудио/видеосервера HTTP?
Можно посетить Форум Разработчика Apple в http://devforums .apple.com/.
Кроме того, Методы наиболее успешной практики контроля для Создания и Развертывания HTTP Живые Потоковые медиа для iPhone и iPad.