потоковое видео с iPhone

Я могу получить отдельные кадры с камер iPhone просто отлично. что мне нужно, так это способ упаковать их со звуком для потоковой передачи на сервер. Отправка файлов, когда они у меня есть, не представляет большой проблемы. У меня проблемы с генерацией файлов для потоковой передачи. Я безуспешно пытался заставить FFMpeg работать.

У кого-нибудь есть идеи о том, как я могу это осуществить? Мне нужен известный рабочий API или инструкции по правильной компиляции FFMpeg в приложении для iPhone.


person iHorse    schedule 09.08.2010    source источник


Ответы (1)


Вы можете разделить свою запись на отдельные файлы длиной, скажем, 10 секунд, а затем отправить их по отдельности. Если вы используете методы beginConfiguration и commitConfiguration AVCaptureSession для пакетного изменения вывода, вы не должны пропускать кадры между файлами. Это имеет много преимуществ перед покадровой загрузкой:

  • Файлы можно напрямую использовать для прямой трансляции HTTP без какой-либо обработки на стороне сервера.
  • Промежутки между передачами данных позволяют антеннам спать между ними, если соединение достаточно быстрое, что экономит заряд батареи.
  • И наоборот, если соединение медленное, поэтому загрузка выполняется медленнее, чем запись, управлять отложенной загрузкой набора файлов намного проще, чем потоком байтов.
person mohsenr    schedule 14.08.2010
comment
Поскольку iHorse нашел решение своей проблемы, наслаждайтесь вашим добавленным представителем, который оказался для меня хорошей информацией :) - person Aaron; 17.08.2010
comment
@iHorse. Не могли бы вы поделиться своим решением, пожалуйста. Мой адрес электронной почты: jordan@whackfaqs[dotcom]. Был бы очень признателен. Мне нужно сделать то же самое. - person Jordan; 18.04.2011
comment
@Tegeril - Не могли бы вы поделиться со мной своим решением? Мне действительно нужно сделать то же самое. Джордан@whackfaqs[добавить точку] - person Jordan; 18.04.2011
comment
Я никогда ничего не реализовывал здесь, мне просто было любопытно, как это будет работать, и, таким образом, я получил вознаграждение за этот вопрос. iHorse, если он отслеживает, может помочь вам больше. - person Aaron; 22.04.2011
comment
@Mo Это заманчиво, но, кажется, в этой истории есть нечто большее. Вы предлагаете использовать два (или более) разных объекта вывода захвата? Я пробовал это, и я не могу сделать это без паузы. Я не могу начать новую запись на том же или другом объекте вывода фильма, пока он не отправит мне сообщение об успешном завершении записи, что занимает ~ 0,1 секунды после того, как я отправлю -stop. - person Bored Astronaut; 20.06.2011
comment
@Bored Astronaut - вот как это делало мое приложение. Можно без пауз. Используйте AVAssetWriter. Создайте два из них. Запустите один, переключитесь на следующий и создайте новый в фоновой очереди. - person Steve McFarlin; 24.06.2011
comment
@BoredAstronaut Jordan - я сделал рабочее решение, которое не пропускает очень много кадров: stackoverflow.com/a/13187931/805882 Он использует подход, описанный SteveMcFarlin. - person Chris Ballinger; 02.11.2012
comment
Может ли кто-нибудь помочь мне с моей проблемой с прямой трансляцией? Спасибо :) stackoverflow.com/questions/20894810/ - person johk95; 03.01.2014
comment
Файлы можно напрямую использовать для прямой трансляции HTTP без какой-либо обработки на стороне сервера. Это утверждение кажется неверным. Файлы MOV несовместимы с файлами .ts, которые требуются HLS. - person EmilyJ; 20.03.2014