2014-09-23 3 views
3

Я пытаюсь выполнить задачу по прямой трансляции с камеры iPhone. Я провел некоторое исследование и обнаружил, что могу использовать файлы .m3u8 для потокового видео в прямом эфире. ts(Mpeg-2) файлов.Прямой поток с использованием файлов .m3u8 и .ts с iPhone в качестве сервера

Теперь файл, который у меня есть на моем iPhone является .mp4 файл и он не работает с .m3u8, поэтому я понял, мне придется конвертировать .mp4 в .ts для этого, но я не преуспели в этом.

Я нашел, что можно конвертировать видео ffmpeg lib, как указано в this article here. Я успешно импортировал библиотеку ffmpeg, но не смог выяснить, как я могу ее использовать для преобразования видео, поскольку я использую это в первый раз.

Одна другая вещь apple documentation говорит

Есть целый ряд аппаратных и программных датчиков, которые могут создавать MPEG-2 транспортные потоки, несущие MPEG-4 видео и AAC аудио в реальном времени .

Что здесь говорят? есть ли другой способ, который я могу использовать .mp4-файлы для прямой трансляции без преобразования их из iOS?

Сообщите мне, если я не понимаю, могу предоставить дополнительную информацию. Любое предложение приветствуется. Я хотел бы знать, что я на правильном пути здесь?

EDIT

Я добавляю больше информации на мой вопрос, так что в основном то, что я прошу, мы можем преобразовать .mp4 видео в .ts используя следующую команду

ffmpeg -i file.mp4 -acodec libfaac -vcodec libx264 -an -map 0 -f segment -segment_time 10 -segment_list test.m3u8 -segment_format mpegts -vbsf h264_mp4toannexb -flags -global_header stream%05d.ts 

Как может я используйте библиотеку ffmpeg для выполнения этой команды в iOS.

ответ

0

Вы можете посмотреть ffmpeg.c, чтобы узнать, что ffmpeg использует из библиотек ffmpeg. Однако это довольно сложный файл. Вы можете захотеть переименовать main() и скомпилировать его для объекта, затем вы можете вызвать новую функцию ffmpeg_main() из вашего кода.

0

Устройство Apple работает только с HLS, и вам необходимо преобразовать медиафайлы с mp4 в ts вместе с файлом метаданных в m3u8. Вы можете использовать стримеры, такие как gstreamer и т. Д., Чтобы передать вам mp4 в формат HLS или, наоборот, переводить код на лету, который очень медленный.