返回信息流更新一发...
这个是github地址
https://github.com/Dash-Industry-Forum/dash.js
根据我的前期调研,应该是有专门的负责码率切换的模块,他提供了公共的API给你调用,只要重写一下请求码率分片那个模块的算法就好了。我只想找到负责这个功能的模块,视频解码什么的完全不用管,请问我该如何搞懂这个项目的架构?从哪入手呢?谢谢大家!
事情是这样的...
LZ一直是做后台的,被老师安排了一个前端的项目...
想要在前端实现一个支持DASH流媒体协议的视频播放器,从Github上下载了项目源码,然后简单跑了一下:
<!doctype html>
<html>
<head>
<title>Dash.js Rocks</title>
<style>
video {
width: 640px;
height: 360px;
}
</style>
</head>
<body>
<div>
<video id="videoPlayer" controls></video>
</div>
<script src="dash.all.debug.js"></script>
<script>
(function(){
var url = "http://dash.edgesuite.net/envivio/EnvivioDash3/manifest.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#videoPlayer"), url, true);
})();
</script>
</body>
</html>
好像也就是引用了一下dash.all.debug.js这个文件而已?
LZ想要做的事是重写这个DASH.JS项目里边的一部分源代码,因为这个项目的代码里有一个模块是负责码率自适应的,LZ要重写这部分的代码,把原来的自适应算法换成LZ自己的算法。
但是LZ不知道该从哪里找这部分代码?如何才能找到这个模块的代码在哪里啊???
求助...
这是一条镜像帖。来源:北邮人论坛 / java-script / #1757同步于 2017/3/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖
小白求问如何修改开源JS项目里的源代码?不知道该从哪里入手?
johnson123
2017/3/22镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
首先你要会js,看不懂js的话,你的问题就等于,有谁能帮我看看哪里替换成需要的算法,况且我记得转码好像也不是你想的那样,应该不是Dash-Industry-Forum/dash.js自己写的mp4解析模块,依赖其他解析库
而且你是上个dash源码或者给个github呀,github搜索上一堆的dash,谁知道你引的哪个,这段code要什么用...问题描述得也是够了
你用的是这个吧,找起来倒是不费劲,何苦不给个https://github.com/Dash-Industry-Forum/dash.js
看了下项目的package.json,其中devDependencies中声明了开发中需要依赖的很多前端库,学完这些的时间就不多说了,你用dash.all.debug.js是打包后的文件,https://raw.githubusercontent.com/Dash-Industry-Forum/dash.js/master/dist/dash.all.debug.js,接近4万行的代码,能有人看的懂么...,所以需要逐个看src中的模块文件,核心是两个依赖库codem-isoboxer和round10,前者就是JavaScript MP4 (MPEG-4, ISOBMFF) parser,后者就是个数学方法库
总得来说,第一,你要会写js,把算法实现了;第二,你要懂前端工程体系,才能调试和打包
问题在,不会js,即便是你能把mp4解析库换成你自己的,也需要你按照js,还是ES6的语法,把你的算法实现了,然后你得会打包和调试...看这个项目的contributors,有1.7K star的开源项目,也蛮厉害的,功力不够的前端尚且思量思量,你一个后端做这活儿,难度很大很大很大.....
超强分析
【 在 logsin 的大作中提到: 】
: 首先你要会js,看不懂js的话,你的问题就等于,有谁能帮我看看哪里替换成需要的算法,况且我记得转码好像也不是你想的那样,应该不是Dash-Industry-Forum/dash.js自己写的mp4解析
: .........
发自「贵邮」
厉害!
【 在 logsin 的大作中提到: 】
: 首先你要会js,看不懂js的话,你的问题就等于,有谁能帮我看看哪里替换成需要的算法,况且我记得转码好像也不是你想的那样,应该不是Dash-Industry-Forum/dash.js自己写的mp4解析
: .........
发自「贵邮」
看的我泪流满面啊。。
首先抱歉没给github地址,确实是你找的那个。
不过我做的不是视频的转码,而是说这个DASH协议支持一个按照网络状况动态请求不同分辨率视频的功能,也就是我说的视频码率自适应,根据我的前期调研,应该是有专门的负责码率切换的模块,他提供了公共的API给你调用,只要重写一下请求码率分片那个模块的算法就好了,请问这块也需要搞懂那些依赖库什么的吗?我只想找到负责这个功能的模块,视频解码什么的完全不用管,请问我该如何搞懂这个项目的架构?从哪入手呢?谢谢!
【 在 logsin 的大作中提到:
: 首先你要会js,看不懂js的话,你的问题就等于,有谁能帮我看看哪里替换成需要的算法,况且我记得转码好像也不是你想的那样,应该不是Dash-Industry-Forum/dash.js自己写的mp4解析模块,依赖其他解析库
: 而且你是上个dash源码或者给个github呀,github搜索上一堆的dash,谁知道你引的哪个,这段code要什么用...问题描述得也是够了
: 你用的是这个吧,找起来倒是不费劲,何苦不给个https://github.com/Dash-Industry-Forum/dash.js
: ...................
我只能大致看下这个库提供了什么,还是那句话,不懂js,想搞懂1.7k star的开源项目,几乎不可能
【 在 johnson123 的大作中提到: 】
: 看的我泪流满面啊。。
: 首先抱歉没给github地址,确实是你找的那个。
: 不过我做的不是视频的转码,而是说这个DASH协议支持一个按照网络状况动态请求不同分辨率视频的功能,也就是我说的视频码率自适应,根据我的前期调研,应该是有专门的负责码率切换的模块,他提供了公共的API给你调用,只要重写一下请求码率分片那个模块的算法就好了,请问这块也需要搞懂那些依赖库什么的吗?我只想找到负责这个功能的模块,视频解码什么的完全不用管,请问我该如何搞懂这个项目的架构?从哪入手呢?谢谢!
楼主实验室是搞MPEG DASH的么...
【 在 johnson123 的大作中提到: 】
: 看的我泪流满面啊。。
: 首先抱歉没给github地址,确实是你找的那个。
: 不过我做的不是视频的转码,而是说这个DASH协议支持一个按照网络状况动态请求不同分辨率视频的功能,也就是我说的视频码率自适应,根据我的前期调研,应该是有专门的负责码率切换的模块,他提供了公共的API给你调用,只要重写一下请求码率分片那个模块的算法就好了,请问这块也需要搞懂那些依赖库什么的吗?我只想找到负责这个功能的模块,视频解码什么的完全不用管,请问我该如何搞懂这个项目的架构?从哪入手呢?谢谢!
同在看相关论文,不知道lz实验室有啥新方向么…感觉就以前的播放器码率自适应比较多…
【 在 johnson123 (johnson123) 的大作中提到: 】
: 嗯啊