层楼终究误少年,自有早晚乱余生
题记由上一篇中的一个需求(ffmpeg安装的问题),简单思考了下如何在不安装的情况下使用ffmpeg呢?ffmpeg从哪来?ffmpeg不多介绍,强大的功能是他能使用的如此广泛的原因之一。不过因为全部市面上可见的操作系统都不会内置,需要额外的安装操作,这对于懒一些的用户来说是不可接受的,那么怎么办?1 脚本中增加【自动】安装的流程?对于一个觉得shell是反人类的developer来说,这是不可接受的2 下载预编译的ffmpeg无论对developer还是对user来说,没有【编译流程】或者叫做【急速安装】的功能都是比较优化的(虽然有人说在自己的平台上定制会”性能更好“)。既然我们已经用全栈的python了,何不启动的时候通过python自动的配置好ffmpeg的环境呢?方案落地预编译的ffmpeg来源有如下几个windows: https://ffmpeg.zeranoe.com/builds/win64/static/ linux:https://johnvansickle.com/ffmpeg/releases/ osx:https://evermeet.cx/ffmpeg/
题记不知不觉中,马上就要步入30岁的大关了,新年立下的Flag之一就是坚持写博客,那么就开始吧...我们想要什么样的功能?思考一个产品其目标,当然最终的目的就是给用户(当然可以使自己),用着舒服,用的省心,功能强大,操作简单,以我自己作为一个最终的用户考量的话,那么...基本的编解码功能要有,切片要有,截封面图(支持gif)要有,强大的同步功能要能离线下载,这样我部署完了之后就可以挂机等着了要能推流,我想做个电台直播间一定要部署起来简单,最好跟当初的php without composer 的一样一样的.可靠性强大扩展性强,最好能自己写插件任务管理不要太费劲. . . .基于以上几点,选择技术栈转码,切片,多媒体操作 -> Ffmpeg快速搞后台 DjangoFfmpeg 不需要手动安装Celery作为强有力的异步任务支撑,已经收到了广大的商品化的验证离线下载的话,you-get 搞定一切当我写完这篇文章的时候,其实功能已经差不多了 ?基本的雏形完成插入一个视频试试{% dplayer "url=https://api.mov.pw/media/hls_media/9/inde
Shake-Click is Always a trouble in Android development.such as a button clicklistener implements in order jumping to another Activity.It will seem like follow:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
目前阶段的秒拍工程已经有了一套成熟的组件化体系,不过仍然很多问题等待解决。1.组件化完全依赖于工程的一些配置文件,导致没有一定经验的开发人员不能合理的把控好开闭原则。 2.当时提出的构想(组建一键切换为插件)仍然没有实现 3.繁琐的配置会容易出错。 为了解决这些问题,所以将提出下一代组件化的框架。1.基本思路主工程到底应该依赖什么?现阶段的主工程,都是通过gradle的dependence直接compile引入gradle工程内部的project,如果可以更换一种方式,比如通过 "compile远程依赖",来引入其他工程,内部的module也都加上版本控制,这样会大大增加工程的稳定性。主工程配置如下MpAppWrapperConfig { localMavenDir = "mpLocalMaven" exclude['yxplayer'] }其中,localMavenDir ,为指定的一个本地maven目录。通过此方法,构建一个本地的maven。然后其他工程publish到此maven目录下,可以增加编译的速度。module怎样定义最好?
组件化的反思:最早的组件化概念应该是从OSGI模型演变过来的。当时在JavaWeb领域,开发者为了将服务细分,出现了面向接口编程的思路。而由于工程的庞大再加上单纯的规范已经不能严格要求开发人员按照约定的规范进行 “接口” 编程了。组件化由此应运而生。组件化的出现就是为了解决几个问题:功能拆分解耦组建单独编译,不影响整个工程。Android 平台的早期组件化思路底层Framework为基础业务,所有公共的功能在此体现。上层组建单独依赖于FrameWork项目结构: +------------------------------+ | | +--------+ FrameWork +---+ | | | | | +-----------+------------------+ |
躺在洞里
一介码农