1. 程式人生 > >Android攝像頭採集的視訊資料流如何通過Socket實時傳送到目標服務端

Android攝像頭採集的視訊資料流如何通過Socket實時傳送到目標服務端

分兩塊:

1.取得攝像頭採集的視訊流

2.傳送到伺服器端

    protected MediaRecorder mMediaRecorder;
    private LocalServerSocket mLss = null;
    private LocalSocket mReceiver, mSender = null;
    mLss = new LocalServerSocket("myVideoStream");
    
    mReceiver = new LocalSocket();
    //連線mLss,即接受方主動發起連線
    mReceiver.connect( new LocalSocketAddress("myVideoStream")); 
    mReceiver.setReceiveBufferSize(100*1024);
    mSender = mLss.accept();
    mSender.setSendBufferSize(100*1024);
    mMediaRecorder.start();
    
    //mReceiver已經和mSender建立連線,也就可以認為,camera採集的視訊流會持續
    //發給mReceiver,通過mReceiver.getInputStream()就可以獲取到mSerder輸入的視訊流
    mSocketHelper.setInputStream(mReceiver.getInputStream());
    //mSocketHelper是你自己對Socket的封裝,根據mMediaRecorder的不同的編碼格式,實現不同的傳送方式
    mSocketHelper.start();

相關推薦

Android攝像頭採集視訊資料如何通過Socket實時傳送目標服務

分兩塊: 1.取得攝像頭採集的視訊流 2.傳送到伺服器端 protected MediaRecorder mMediaRecorder; private LocalServerSocket mLss = null; private LocalSock

Android(客戶通過socket與QT(服務)通訊

一、概述 在這裡我想實現一個跨平臺的socket通訊,Android手機作為客戶端向Ubuntu的QT平臺上的服務端傳送一個字元命令,由於是隻傳送一個字元,這裡我儘可能簡化socket通訊的過程以供後人參考。 文中貼上主要程式碼,末尾會給出完整原始碼的下載。

Android-音視訊(5):用 Camera API 採集視訊資料並用SurfaceView顯示

0.許可權設定 之前的文章都忘記說明了許可權的設定,一起需要的許可權如下: <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission andro

分享幾個Android攝像頭採集的YUV資料旋轉與映象翻轉的方法

最近在做直播推流方面的工作,因為需要新增美白,濾鏡,AR貼圖等效果。所以不能簡單的使用SufaceView加Camera的方式進行資料的採集,而是需要對Camera採集到的YUV資料進行相關的處理之後然後再進行推流的操作,YUV資料的返回介面。@Override public

GStreamer資料(攝像頭採集,視訊儲存,遠端監控)DVR

GStreamer資料整理(包括攝像頭採集,視訊儲存,遠端監控,流媒體RTP傳輸) 1,gstreamer開發手冊,gstreamer官網(這些都不用說了吧) 2,gst-launch的用法,這也不用說了吧。(白菜,雞蛋,西紅柿,磚頭,滑鼠……..) lqpla

「OpenGL」未來視覺1-Android攝像頭採集基礎

相信很多人都用過相機功能,也開發過簡單排程相機功能,但是相機採集功能。是影象訊號輸入的重要來源。 SurfaceView和View的不同之處:   SurfaceView和View對比 相機影象取樣,需要維持一個比較穩定的幀數來維持影象實時性,需要頻繁重新整理,建立一

TCP/UDP傳輸攝像頭採集資料(opencv)

server 本部落格是一個伺服器和客戶端的程式,可以直接用vs建立2個工程,複製下面程式碼,替代main函式,前提要配好opencv庫,還要在客戶端有攝像頭,本部落格是用TCP傳輸實現,(Tcp對包的資料大小沒有限制)雖然封裝了UDP 的介面,但是udp最

linux v4l2 攝像頭採集視訊的方法

Linux上用v4l2函式介面獲取視訊主要是一個步驟流程,一步步做就很容易,現已我在qt下編寫的一個讀取攝像頭視訊的程式中的相關程式碼為例。 首先開啟視訊裝置,比如/dev/video0, fd = open(dev_name.toStdStr

Android Audio 系統框架資料分析

    ----------前言      今天是感恩節,突然意識到2014年又接近尾聲了,歲月匆匆,白駒過隙,恍然間覺得,時間在鍵盤敲打的節奏裡一去不復返了; 在這似水流年裡,每天忙於工作,一年下來,自己都忙了些什麼,不禁暗自喟嘆,時間都去哪兒了;為了給時間貼個標籤,開始

android平臺,利用ffmpeg對android攝像頭採集編碼

對於這個問題,我也是折騰了好幾天終於把這個問題解決了。不多說,進入主題: 首先是demo下載地址:http://download.csdn.net/detail/zh_ang_hua/8971915; 這個下載地址demo有bug,已修改,新的現在地址:http://d

Python-通過socket實現一個小型的口檢測工具

socket 結果 soc png cep light true python bsp 實驗機器IP:192.168.220.139,端口開放情況 代碼 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import

專案總結:每隔5分鐘從資料庫拉取資料轉為Json格式通過WebService從客戶傳送服務

   第一次接手需求寫的小專案,過程也有點坎坷,以此記錄總結編碼過程中遇到的問題。    專案背景:本次寫的是一個小模組,主要為客戶端,作用是每隔5分鐘從資料庫拉取資料傳送至服務端。本次專案採用的是spring3+Quartz+JdbcTemplate+J

httpclient通過POST來上傳檔案,而不是通過的形式,並在服務進行解析(通過httpmime.jar來操作)

1. 首先需要對應的JAR包 匯入 httpmime-4.1.1.jar。 package url; import io.IoStreamUtil; import java.io.File; import java.io.IOException; import jav

使用一個簡單的python指令碼將一個本地檔案以碼的形式,通過UDP協議傳送到對

import socket import os import stat import struct MAX_PACK_SIZE = 100 DEST_IP = 'localhost' DEST_PORT = 17800 filename = raw_input("in

FFMPEG實現RTSP中H264資料解碼 並且實時播放

主要改動原始檔案的讀取 播放器是播放本地檔案 而我們這裡需要讀取的是RTSP中H264資料流 char filepath[1024] = "rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.

非同步SOCKET程式設計-傳送和接收資料[轉] 非同步SOCKET程式設計-傳送和接收資料[轉]

Socket(套接字)◆先看定義: typedef unsigned int u_int; typedef u_int SOCKET; ◆Socket相當於進行網路通訊兩端的插座,只要對方的Socket和自己的Socket有通訊聯接,雙方就可以傳送和接收資料了。其定義類似於檔案控制代碼的定義。◆Socket有

httpclient通過POST來上傳文件,而不是通過的形式,並在服務進行解析 通過httpmime jar來操作

http jar包 localhost parser urn lex leo system methods 1. 首先需要對應的JAR包 導入 httpmime-4.1.1.jar。 package url; import io.IoStreamUtil

Android BLE與終端通信(三)——client與服務通信過程以及實現數據通信

.sh 沒有 indexof 實例 解析 rip listview filter @override Android BLE與終端通信(三)——client與服務端通信過程以及實現數據通信 前面的終究僅僅是小知識點。上不了臺面,也僅僅能算是起

Socket TCP 協議實現服務和客戶的簡單通訊-結合線程池的使用

文章目錄 前言 當前模式的弊端 服務端程式碼 客戶端程式碼 執行結果 客戶端 服務端

socket-WebSocket-HttpListener-TcpListener服務客戶的具體使用案例

/// <summary> /// 啟動服務監聽的ip和埠的主執行緒 /// </summary> /// <param name="tunnelPort"></param> public void StartService(int tunnelP