2016-06-22 3 views
0

Я хочу, чтобы иметь возможность транслировать видео в реальном времени с устройства iOS на сервер. Я попытался использовать AVCaptureOutput, который фиксирует каждый кадр как CMSampleBuffer и добавляет его с помощью AVAssetWriter, но я не знаю, когда и как взять входные данные из файла и отправить его на сервер. Как его отформатировать? Как узнать, когда его отправить?Как можно транслировать видеоизображение с устройства iOS на сервер?

+0

Для этой цели существует множество сторонних решений. В нашем приложении мы используем решение, предоставленное http://www.emoze.com/, и оно работает хорошо (но оно стоит, и вам нужно будет связаться с ним через их сайт, чтобы получить пакет) –

+0

Возможно, длинный снимок, но в iOS 9 Apple представила что-то под названием ReplayKit, а в iOS 10 они объявили о поддержке прямой трансляции в ReplayKit. Я не использовал это сам, поэтому я мало что знаю об этом, но, возможно, это может быть полезно для вас. – pbodsk

ответ

1

Хотя я не передаю вам какой-либо код, я разделяю с вами свою логику, что я сделал в одном из своих приложений.

Первый способ (простой): Существует множество недорогих сторонних библиотек, доступных для вашего использования.

Второй способ (Твердая один): Создать небольшой кусок видео для примера 2sec или менее, держать их в очереди и загрузить его на сервер (не используйте afnetworking или http метод это будет замедлять процесс используйте какой-либо чат-сервер, например node.js или другие). И сохраните один текстовый файл или запись db, где вы сохраните дорожку файла chunk и его последовательности. И как только ваш первый кусок будет загружен, вы можете использовать ffmpg, чтобы сделать видео из реального фрагмента, тем больше фрагментов, которые вы добавили в основной видеофайл, и если вы воспроизводите фактическое видео на устройстве, вам не нужно делать любая модификация автоматически будет извлекать новую часть после ее изменения на сервере.

Thank you. Надеюсь, это поможет вам.

+0

Кажется, как это делают большинство широкомасштабных трансляций, просто продолжайте отправлять куски данных на сервер, а сервер перебрасывает их обратно другим клиентам, где они будут собраны вместе. – James111

+0

Да, но в моем случае мы собрали эти куски на сервере, а не на устройстве. Поскольку очень сложно вывести эти куски на основное видео на устройстве iOS, и если мы будем играть за ними один за другим, есть небольшое изменение в кадре между кусками, и это было очень заметно. – souvickcse

+0

Имеет смысл! Думаю, вы могли бы сделать это в любом случае? – James111

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

  • Нет связанных вопросов^_^