Генерация 64 кбит / с только для звука mpegts для HTTP Live segmenter для удовлетворения требований только к 64 кбит / с аудио - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь преобразовать наши файлы mp4 в mpeg-ts и сегментировать их в файлы .ts для воспроизведения в приложении iphone. Для этого я использую HTTP-Live-Video-Stream-Segmenter-Distributor Карсона Макдоналдса.

Я получил, что его материал соблюдается и работает правильно. В настоящее время я пытаюсь удовлетворить требования Apple, когда мне нужно предоставить базовый аудиопоток со скоростью 64 кбит / с для моего плейлиста m3u8. У Карсона, похоже, нет профиля для этого.

Мне нужно иметь возможность генерировать 64 кбит / с поток только для аудио из mp4 и превратить его в mpeg-ts для сегментера в ts. Я пытаюсь найти правильную команду ffmpeg, которая без проблем будет проверяться с помощью mediastreamvalidator от Apple.

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

ffmpeg -er 4 -i% s -f mpegts -acodec libmp3lame -ar 22050 -ab 32k -s 240x180 -vcodec libx264 -b 16k -flags + loop + loop + mv4 -cmp 256 -разделы + parti4x4 + partp8x8 + partb8x8 - subq 7 -trellis 1 -refs 5 -кодер 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 64k -макс. 16k -bufsize 16k -rc_eq 'blurCplx ^ (1-qComp)' -qcomp 0.6 -qmin 10 - qmax 51 -qdiff 4 -уровневый 30-аспект 4: 3 -r 10 -g 30 -синхронный 2 - | % s% s% s% s% s

но потом, когда я пытаюсь проверить его с помощью mediastreamvalidator, выдает ошибку после нескольких ts:

Подтверждение списка воспроизведения: OK

Сегменты:

sample_cell_4x3_64k-00001.ts:

ПРЕДУПРЕЖДЕНИЕ. Медиа-сегмент превышает целевую продолжительность в 10,00 секунд на 1,30 секунд (продолжительность сегмента составляет 11,30 секунд)

sample_cell_4x3_64k-00002.ts:

ПРЕДУПРЕЖДЕНИЕ. Медиа-сегмент превышает целевую продолжительность в 10,00 секунд на 1,40 секунды (продолжительность сегмента составляет 11,40 секунд)

.... ....

sample_cell_4x3_64k-00006.ts:

ОШИБКА: (-1) Неизвестный видеокодек: 1836069494 (программа 0, дорожка 0) ОШИБКА: (-1) не удалось проанализировать сегмент как MPEG-2 TS или ES

sample_cell_4x3_64k-00007.ts:

ОШИБКА: (-1) Неизвестный видеокодек: 1836069494 (программа 0, дорожка 0) ОШИБКА: (-1) не удалось проанализировать сегмент как TS MPEG-2 или ES

.... .... Средняя продолжительность сегмента: 10,26 секунды Средний битрейт сегмента: 376797,92 бит / с Средние структурные накладные расходы сегмента: 349242,17 бит / с (92,69%)

Могу ли я как-нибудь сгенерировать это правильно, используя только аудио со скоростью 64 Кбит / с и превратив его в mpeg-t, готовый к сегментации и корректной проверке?

Правильно ли я подхожу к проблеме?

1 Ответ

0 голосов
/ 23 апреля 2012

Я не помню всех деталей рубиновых скриптов Карсона, но первое, что я хотел бы сделать, чтобы получить поток только для аудио, это остановить обработку видео (-vn).Вот как то так:

ffmpeg -er 4 -i %s -f mpegts -acodec libmp3lame -ar 22050 -ab 32k -vn - | %s %s %s %s %s
...