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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于PyTorch的Embedding和LSTM的自动写诗实验LSTM (Long Short-Term Memory) 是一种特殊的循环神经网络(RNN)架构,用于处理具有长期依赖关系的序列数据。传统的RNN在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,导致无法有效地捕捉长期依赖。LSTM通过引入门控机制(Gating Mechanism)和记忆单元(Memory Cell)来克服这些问题。 以下是LSTM的基本结构和主要组件: 记忆单元(Memory Cell):记忆单元是LSTM的核心,用于存储长期信息。它像一个传送带一样,在整个链上运行,只有一些小的线性交互。信息很容易地在其上保持不变。 输入门(Input Gate):输入门决定了哪些新的信息会被加入到记忆单元中。它由当前时刻的输入和上一时刻的隐藏状态共同决定。 遗忘门(Forget Gate):遗忘门决定了哪些信息会从记忆单元中被丢弃或遗忘。它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 输出门(Output Gate):输出门决定了哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。同样地,它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 LSTM的计算过程可以大致描述为: 通过遗忘门决定从记忆单元中丢弃哪些信息。 通过输入门决定哪些新的信息会被加入到记忆单元中。 更新记忆单元的状态。 通过输出门决定哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。 由于LSTM能够有效地处理长期依赖关系,它在许多序列建模任务中都取得了很好的效果,如语音识别、文本生成、机器翻译、时序预测等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值