Git Product home page Git Product logo

server_mac's Introduction

Server_Mac

macOS端,捕获音视频数据,编码并发送给客户。

演示图

演示图


下载


简介

之前在做类似的网络协议的时候,突发奇想,想写一个网络视频监控,基于局域网的情况下,将MacBook摄像头捕获到的视频,在手机端显示,但是由于对macOS不是很熟悉,最终导致该计划流产。所以后来干脆使用手机捕获视频数据。

为了简化项目工作量,socket协议也只用到了一些必要的功能,其他细节如client端退出监控视频时,server端会crash,各位有需要可以自行去添加一些如设置select()函数,或者设置signal()函数忽略这个断开的信号。等等

项目中没有写录制设备视频的功能,所以没有用到MP4封装

更多其他的细节已经搭建过程,有兴趣的可以去我的GitHub上回退到各个版本看循序渐进的过程。关于音视频我也是初学者,欢迎各位斧正。


主要功能

client端:

  1. udp局域网搜索设备(server),或者手动添加其他设备(并没有功能) 到plist
  2. 点击已添加的监控设备,开始TCP音视频数据传输
  3. 接收到音视频数据,进行解码,并用OpenGL es渲染显示到界面上 或openAL播放音频
  4. 横竖屏功能

server端(摄像头):

  1. 点击“reset”,进入“配对模式”,即开始UDP监听AP
  2. 连接成功后,将自己的设备信息发送给client
  3. 开始捕获音视频,并进行硬编码,发送给client

博客

基于iOS的网络音视频实时传输系统(一)- 前言

基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据

基于iOS的网络音视频实时传输系统(三)- VideoToolbox编码音视频数据为H264、AAC

基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)

基于iOS的网络音视频实时传输系统(五)- 使用VideoToolbox硬解码H264

基于iOS的网络音视频实时传输系统(六)- AudioQueue播放音频,OpenGL渲染显示图像

server_mac's People

Contributors

amoamoamo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.