veaba / express-nuxt

【开发中……,需要配置mongodb才能使用本项目】Vue.js + express +nuxt.js +node.js + mongodb +websocket,web服务研究站。额外增加了小说爬虫功能(个人喜好)、vue官方样式markdown渲染。(github.io是静态页面,无法使用login等后台服务,后续再换成websocket或者jsonp与后台交互,然而看了GitHub.io 22s才加载完资源,凉凉)
https://veaba.github.io/express-nuxt/
MIT License
15 stars 2 forks source link

【Official】:自动化翻译视频字幕/音频翻译项目开发 #20

Open veaba opened 5 years ago

veaba commented 5 years ago
veaba commented 5 years ago

【微软channel9视频调研】:

xhr

【调研结果】:

veaba commented 5 years ago

【难点和意外】:

因为必须将视频中的音频数据截取下来,才能发给相关的服务器去处理,转为字幕

1.如何实时的拆分音频,储存起来并发给相关的服务去做解析? 2.如何将视频发给node,node支持 将音频数据过滤下来? 3.如何处理stream视频/音频的数据,node 是什么方案?

veaba commented 5 years ago

【文档储备/参考】:

  1. Node.js 中流操作实践 https://segmentfault.com/a/1190000016328755
  2. A Node.js implementation of RTMP Server https://www.npmjs.com/package/rtmp-server
  3. 使用HTML5中的Blob对象实现媒体播放功能 https://blog.csdn.net/SVictorique/article/details/54892701 不会被直接下载
  4. 斗鱼直播 可以 https://4143591f85921822fbbb32d16de61c24.v.smtcdns.net/tc-tct.douyucdn2.cn/dyliveflv3a/5695747rVVgKz54A.flv?wsAuth=0ec880daa18621c25f9ff9043c74d60b&token=web-douyu-20123226-5695747-d557ee7eca2d25a84861a4f54de2f739&logo=0&expire=0&did=b75cc100c7f3c14d066facc400091501&ver=Douyu_218091301&pt=2&st=0&mix=0&dispatch_from=ztc9.25.22.29&utime=1537008814101 服务是 Content-Type: video/x-flv
  5. 搭建node RTMP服务 https://drg1998.cn/archives/91
  6. FFmpeg https://www.jianshu.com/p/7ed3be01228b
  7. 从flv 视频文件提取音频MP3文件 https://blog.csdn.net/jcwkyl/article/details/5313297
  8. A fluent API to FFMPEG https://github.com/fluent-ffmpeg/node-fluent-ffmpeg
  9. NODEJS基于FFMPEG视频推流测试 https://segmentfault.com/a/1190000012049916
  10. Node.js调用ffmpeg处理视频 https://blog.csdn.net/dj513dj/article/details/60961970
  11. ffmpeg module for nodejs https://github.com/damianociarla/node-ffmpeg
  12. Node.js发送视频流 https://blog.csdn.net/liuyaqi1993/article/details/76560401
  13. 直播技术原理讲解 https://blog.csdn.net/leifukes/article/details/73244012
veaba commented 5 years ago

【斗鱼直播的一些数据】:

veaba commented 5 years ago

【直播架构】:

采集

播放

【问题】:

如何解析RTMP 协议,并解析数据后拿到音频数据?

了解到,可以让解析RTMP并还原数据,提取音频,可以通过http://ai.baidu.com/tech/speech/lsr 百度长语音识别 实时转为字幕,但百度对于REST API 只支持60s以下的语音识别!!更多的是支持Android 和ios 的SDK。

得到音频

librtmp获取视频流和音频流1 https://blog.csdn.net/jzjhome/article/details/75270727

veaba commented 5 years ago

【微软认知API】:优先考虑。不过需要解锁visa卡 https://azure.microsoft.com/zh-cn/services/cognitive-services/speech/

veaba commented 5 years ago

【百度语音长语音识别】:放弃

veaba commented 5 years ago

【阿里云语音识别】:放弃

veaba commented 5 years ago

【科大讯飞】:挺符合要求,目前次要选择,等待消息

veaba commented 5 years ago

【腾讯云】:放弃

veaba commented 5 years ago

【方案】:

  1. 浏览器开启录音将录音的通过websocket实时转译字幕

    https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia getUserMedia 获取用户设备

  2. 通过RTMP 获取音频数据,再转译,这时候需要搭建RTMP服务器,再将解析数据通过websocket传递到前端
veaba commented 5 years ago

【微软语音SDK】: https://docs.microsoft.com/zh-cn/javascript/api/microsoft-cognitiveservices-speech-sdk/recognizer?view=azure-node-latest 用于 JavaScript 的认知服务语音 SDK

https://github.com/MicrosoftDocs/azure-docs