Создание пакетов RTP с камеры Android для отправки

Я новичок в программировании на устройствах Android и сокетов. Я хочу создать приложение для Android, которое передает видео с камеры устройства на ПК. Сначала я получаю необработанные видеоданные из аргументов PreviewCallback и конвертирует их в RTP-пакет. Я просто использовал JLibRTP для этого. Что касается передачи пакета, я думаю, есть некоторые связанные классы: RtpPkt, RtpSession и RtpSocket.

Вот мой код взгляда:

DatagramSocket rtpSocket = new DatagramSocket(); DatagramSocket rtcpSocket = new new DatagramSocket(); RtpSession rtpSession = new RtpSession(rtpSocket, rtcpSocket); public void surfaceCreated(SurfaceHolder holder) { try { camera = Camera.open(); camera.setPreviewCallback(new PreviewCallback() { public void onPreviewFrame(byte[] _data, Camera _camera) { int height = 240; try { rtps.sendData(_data); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show(); } } }); camera.setPreviewDisplay(holder); camera.startPreview(); } catch (IOException e) { Log.d("CAMERA", e.getMessage()); } } 

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

Я не знаю, включила ли эта библиотека что-то, чтобы передать пакеты на компьютер, но если нет, у вас есть проблема, потому что андроид поддерживает только потоки RTP с версии 3.1 (API-уровень 12). Если ваш уровень ниже, вам нужно написать собственный «rtp-сервер», который способен передавать пакеты с вашего устройства на компьютер.

Для получения дополнительной информации проверьте проект sipdroid. Они создали свой собственный «rtp-сервер»: http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java

ОБНОВИТЬ:

Другая возможность – использовать ffserver из библиотек ffmpeg, но, следовательно, вы должны скомпилировать библиотеки для android. Вот небольшой учебник, как это сделать и как работать с библиотеками: как построить FFmpeg для Android

UPDATE2:

Приложение spydroid – очень хороший пример для потоковой передачи видео с устройства Android без каких-либо внешних библиотек.

Intereting Posts
Поместить навигационный ящик в строку состояния Изменения в веб-странице через javascript, не отображающиеся в WebView. Есть ли способ заставить WebView перерисовать свой контент? Как оживить просмотр с переводом анимации в Android Ошибка java.lang.StackOverFlow. Подозревали слишком много просмотров? Как вставить данные в базу данных SQLite в Android? Форматирование валюты на Android с использованием децимального разделителя Управление потоком программ Android в присутствии вызова startActivityForResult Параметр IllegalArgumentException должен быть потомком этого представления в ViewGroup.offsetRectBetweenParentAndChild Загрузите приложение Android с другим кодом версии, но с той же версией Поддерживает ли Android API 20 устройства, поддерживающие Bluetooth LE, в качестве периферийного устройства? В android, почему пользовательский интерфейс не может быть обновлен из потока пользовательского интерфейса? Как исправить это событие UnknownHostException? Android IAB: «Ошибка обновления инвентаря (запрос цен на предметы)» Ошибка разработчика Порт Andengine игра на другую платформу? Отображение файла MS Word в представлении (например, TextView) на Android