摘要:
如果不是特别熟悉C/C++,又要使用FFmpeg.API处理一些简单的音视频业务,那么可以使用org.bytedeco:ffmpeg-platform,下面记录一下使用ffmpeg-platform获取封装音视频数据(含格式转化、重采样)的方法。 1. 基本流程 音视频封装(复用)的基本流程主要有如 阅读全文
摘要:
如果不是特别熟悉C/C++,又要使用FFmpeg.API处理一些简单的音视频业务,那么可以使用org.bytedeco:ffmpeg-platform,下面记录一下使用ffmpeg-platform获取视频Metadata信息的方法。 使用FFmpeg.API获取Metadata信息比较简单,参考f 阅读全文
摘要:
JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本 拉取远程版本并比较两个版本 如果需要升级,那么拉取更新历史 弹出升级控制窗口 用户选择升级时, 阅读全文
摘要:
撤销和重做功能在很多软件都是非常普遍的,这里记录一下JavaFX实现撤销和重做功能的一种方案: 1. 接口定义 对于所有能执行撤销和重做的动作定义统一的接口: public interface Undo { void execute(); void undo(); void redo(); } 2. 阅读全文
摘要:
JavaFX要实现滚动可以使用ScrollPane,要实现缩放可以通过调用setScaleX和setScaleY、setScaleZ,如果需要实现滚动 + 缩放联动,那么需要一点点小技巧,这里记录一下。 1. 实现滚动 实现JavaFX的滚动很简单,只需要将UI组件放在ScollPane中即可,下面 阅读全文
摘要:
习惯了使用Spring的IoC开发JavaEE应用之后,总想着在JavaFX开发中使用IoC管理应用中的单例对象,这里记录一下构建JavaFX.IoC实现Bean管理和依赖注入的过程。 1. IoC.需求 实际上关于JavaFX整合SpringBoot是有开源项目实现过的,之前也介绍过,但总感觉太重 阅读全文
摘要:
Vue 支持自定义指令,具体API说明可以参考下面两个文档: Vue.directive( id, [definition] ) Vue 自定义指令 1. 钩子函数 Vue.directive 提供了几个钩子函数,分别是: bind inserted update componentUpdated 阅读全文
摘要:
需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 视频切片(MPEG-TS)(HLS)的方法。 注意:存放HLS切片的目录必须存在(不会自动创建) 1. 代码实现 通过recorder.setOption进行HLS切片配置: pu 阅读全文
摘要:
需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 使用FFmpeg命令行(不需要系统安装FFmpeg)的方法。 1. 实现代码 这种方式跟平时使用FFmpeg命令是一样的: public class Sample27 { publ 阅读全文
摘要:
需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 分离AAC视频数据(转封装的方式,不需要转码)的方法。 使用硬件加速编码,需要使用VideoCodecName的方式设置编码器 1. 实现代码 这里需要注意的是编码器设置成h264 阅读全文