热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ipadjavahttp客户端_【图片】【分享】JAVA实现苹果设备(iphone/ipad)直播电脑摄像头采集的【java吧】_百度贴吧...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼具体的技术介绍本人是根据这篇博客了解的:http:www.cnblogs.comhaibindevarchive201301

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

具体的技术介绍本人是根据这篇博客了解的:

http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html

技术点列表以及解决方案:

1、采集视频源和音频源的数据

视频数据采用jmf或者opencv,本人实际开发中jmf对mac系统支持的不是很好所以放弃

opencv是全平台支持、并且原生支持部分java调用接口

所以视频采集选用opencv实现

声音采集这个暂时没有做,不过可以通过java原声的声音api可以实现采集

2、对原始数据进行H264编码和AAC编码

本人没有详细了解h264编码的格式,采用了Jcodec框架进行编码

该框架缺点是文档太少楼主只实现了将opencv采集到的图片数据合成为MP4格式的文件

声音采集没有做,不过实现起来较为简单,网上很多aac声音采集例子

3、视频和音频数据封装为MPEG-TS包

封装为TS包这个推荐使用ffmpeg这个工具,转换起来要通过runtime调命令格式的

楼主原本思考用c++封装为jni调用,但是与命令行调用的效率差不多所以没有采用

该工具也可以将声音文件与视频文件合并为TS文件

简化了声音处理过程

4、HLS分段生成策略及m3u8索引文件

一个直播的m3u8文件格式为:

#EXTM3U

#EXT-X-MEDIA-SEQUENCE:1

#EXT-X-TARGETDURATION:5

#EXTINF:5,

ts file url

#EXTINF:5,

ts file url

#EXTINF:5,

ts file url

ts file url为ts视频文件的绝对路径

如你的ts文件请求地址为http://127.0.0.1/1.ts

则file url为/1.ts

#EXT-X-MEDIA-SEQUENCE:1

为分段序列

客户端会根据该序列决定下一个该播放那个TS文件

#EXT-X-TARGETDURATION:5

为分段视频长度

建议3 - 10秒之间

时间越短播放延迟越小

理论延迟应为分段长度

但实际上本人测试发现2秒钟分段的TS文件延迟时间为10秒左右

可能是客户端有缓存或者是其他情况 具体的正在详细探究

5、HTTP传输协议

这个就好说了 吧里基本上都是写web的 随便找一个就可以

我采用的是jetty



推荐阅读
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Eclipse安装教程:解决Genymotion配置中的疑难杂症
    Eclipse安装教程:解决Genymotion配置中的疑难杂症 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 本文介绍了一种在ANSI C中动态分配二维数组的方法。通过创建指针数组并为每个指针分配连续空间,可以灵活地管理内存。文章还讨论了一些常见的错误和注意事项。 ... [详细]
  • 在软件企业中,开源节流是管理层共同关注的重点。作为技术总监,我在产品和技术运营层面深入探讨了这一问题,旨在通过技术创新和优化流程来实现成本控制和效益提升。本文将详细分析CTO在开源节流中的核心作用及其具体策略。 ... [详细]
  • 为了提升单位内部沟通效率,我们开发了一套飞秋软件与OA系统的消息接口服务系统。该系统能够将OA系统中的审批、通知等信息自动同步至飞秋平台,确保员工在使用飞秋进行日常沟通的同时,也能及时获取OA系统的各类重要信息,从而实现无缝对接,提高工作效率。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
author-avatar
mobiledu2502881483
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有