Создание MPEGT только со скоростью 64 кбит / с для сегмента HTTP Live для удовлетворения требований только к аудио со скоростью 64 кбит / с

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

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

Мне нужно иметь возможность генерировать поток только аудио со скоростью 64 кбит / с из mp4 и превращать его в mpeg-ts для segmenter в 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 + mv4 -cmp 256 -partitions + parti4x4 + partp8x8 + partb8x8 -subq 7 - trellis 1 -refs 5 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 64k -maxrate 16k -bufsize 16k -rc_eq 'blurCplx ^ (1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 - qdiff 4 -уровень 30 -aspect 4: 3 -r 10 -g 30 -async 2 - | % s% s% s% s% s

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

Проверка списка воспроизведения: ОК

Сегменты:

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) не удалось проанализировать сегмент как MPEG-2 TS или ES

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

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

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


person Pobre    schedule 01.03.2012    source источник


Ответы (1)


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

ffmpeg -er 4 -i %s -f mpegts -acodec libmp3lame -ar 22050 -ab 32k -vn - | %s %s %s %s %s
person idlethread    schedule 22.04.2012