2014-11-15 3 views
0

У меня есть видеопоток MPEG-TS H.264 в прямом эфире, я хочу использовать Stream Stream для iPhone, но поскольку HLS требует сегмента сегментов (например, 10 секунд) и отправить его с помощью M3u8. и для этой цели я в настоящее время использую ffmpeg и m3u8-segmenter, доступные в Интернете. Но я не хочу использовать транскодирование с помощью ffmpeg, поскольку у меня есть ограничения на память + процессор на моем оборудовании. Возможно ли, что я могу сделать только сегменты видео MPEG-TS и напрямую отправить его на iPhone.Http Live Streaming без кодирования

Я пробовал много способов, но не смог этого сделать. Я использую систему на базе Linux.

Пожалуйста, помогите мне, какие процедуры живут в прямом эфире на iphone, не перекодируя видео.

Благодаря

+1

Что вы используете ffmpeg для в этом случае? Если он уже входит в MPEG-TS, вы можете напрямую его передать в m3u8-segmenter. Можете ли вы разместить образец кода и вызовы, которые вы используете для ffmpeg и m3u8-segmenter? –

+0

@JeffreyPfau Я использую этот формат:
FFmpeg -i [ссылка] HTTP: // локальный: 6954/myvideo.ts -f MPEGTS - (все остальные параметры кодирования) | ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u [link] http://domain.com/
Поскольку мое видео уже в формате MPEG-TS, вот почему я просто хочу сделать кусочки этого видео и отправить его на свой iPhone с помощью m3u8. Я не уверен, как это сделать. –

+0

Я также пробовал это: ./m3u8-segmenter -i (URL для видео MPEG-TS) -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u (префикс домена) –

ответ

1

Лучший способ пойти об этом, чтобы вырезать FFmpeg полностью. Хотя вы можете принуждать FFmpeg не перекодировать (используя -c copy), так как видео уже находится в формате MPEG-TS, прямо с живого потока, лучше всего использовать его напрямую.

Поскольку это выглядит как видео идет через HTTP, вы можете использовать curl печатать его на стандартный вывод:

curl http://localhost:6954/myvideo.ts | ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u http://domain.com

Или, если вы хотите использовать wget вместо curl, это похоже

wget -O - http://localhost:6954/myvideo.ts | ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u http://domain.com

Либо wget, либо curl, скорее всего, будет установлен на вашей систе Эм.

+0

Отлично! Хорошая идея. Я сделаю это. Надеюсь, это решит мою проблему. Thanks buddy –

+0

@Jeffery: Это отлично работает на VLC. Но это не играется на ipad. Он продолжает загружаться. Я попробовал это и на тренажере, и на устройстве. Теперь размеры файлов большие. При перекодировании размер файлов составляет 1-2 МБ, и теперь они довольно большие 3-15 МБ в зависимости от исходного видео. –

+0

Есть ли какой-либо специальный формат, который понимается устройствами iOS для HLS. потому что VLC играет в формат, но ios этого не делает. –

Смежные вопросы