<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daizhe的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daizhe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daizhe]]></copyright><item><title><![CDATA[基于JavaCV实现FFmpeg设置视频moov前置以及截取封面图片]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/155906354</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/155906354</guid><author>daizhe</author><pubDate>Sun, 14 Dec 2025 10:34:57 +0800</pubDate><description><![CDATA[本文介绍了使用JavaCV实现FFmpeg视频处理的方法，主要包括设置moov前置和截取视频封面。JavaCV封装了FFmpeg功能，通过引入javacv-platform依赖即可使用。示例代码演示了如何读取视频文件，设置movflags为faststart实现moov前置，同时复制视频参数进行转码处理。此外，还展示了如何通过FFmpegFrameGrabber截取指定时间点的帧，并转换为图片保存为封面。该方法整合了视频转码和封面提取功能，为视频处理提供了便捷的Java实现方案。]]></description><category></category></item><item><title><![CDATA[Ubuntu下基于Nginx+ffmpeg+video.js的HLS流媒体视频播放方案]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/151357955</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/151357955</guid><author>daizhe</author><pubDate>Tue, 09 Sep 2025 16:42:06 +0800</pubDate><description><![CDATA[将MP4文件直接放在nginx的目录下，也可以用浏览器打开，但是可能直接下载，而不是播放，video.js直接播放MP4文件，对MP4文件格式有要求，一方面必须是H264编码，否则可能没声音，二是要播放器要先下载moov才能开始播放，而录像设备生成的MP4一般moov在mdat之后，这样要等待很长时间，所以需要用ffmpeg等工具将moov移动到最前面。目前使用的方案是，先用ffmpeg将MP4转为hls，生成m3u8和ts切片文件，再由nginx发布，在浏览器中用video.js播放。]]></description><category></category></item><item><title><![CDATA[Mac M4环境下基于VMware Fusion虚拟机安装Ubuntu24.04 LTS ARM版]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/151224325</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/151224325</guid><author>daizhe</author><pubDate>Fri, 05 Sep 2025 15:31:32 +0800</pubDate><description><![CDATA[在下载Ubuntu24.04 LTS的arm版镜像，这里选择ubuntu-24.04-live-server-arm64.iso，支持arm的似乎没有合适的desktop版本，Server版本默认是不带图形桌面系统的，桌面系统可以后续手动安装。]]></description><category></category></item><item><title><![CDATA[Ubuntu中使用nginx-rtmp-module实现视频点播]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/151223221</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/151223221</guid><author>daizhe</author><pubDate>Fri, 05 Sep 2025 15:08:24 +0800</pubDate><description><![CDATA[本文详细介绍了在Ubuntu系统下安装nginx-rtmp-module的完整过程。主要步骤包括：下载最新版nginx-1.29.1和nginx-rtmp-module源码，安装必要的依赖包（gcc、openssl、zlib等），配置并编译安装nginx。安装完成后，通过修改nginx.conf配置文件添加rtmp模块支持，设置视频文件存放路径为/opt/video/vod。最后使用VLC播放器测试rtmp流媒体服务，成功播放指定视频文件。整个过程涵盖了从环境准备到功能测试的全部环节，为搭建简易视频点播系统]]></description><category></category></item><item><title><![CDATA[Idea突然不停indexing的问题]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/79317020</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/79317020</guid><author>daizhe</author><pubDate>Mon, 12 Feb 2018 15:22:02 +0800</pubDate><description><![CDATA[Idea突然不停indexing的问题

今天突然发现Idea中在打开jsp文件后不停的indexing的情况，查了一下，只要清理一下Idea的缓存和索引就可以了，在File-Invalidate Caches / Restart中，选择Invalidate and  Restart，之后会重启Idea，然后就解决啦！...]]></description><category></category></item><item><title><![CDATA[Idea中搜索范围去掉某些目录]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78812096</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78812096</guid><author>daizhe</author><pubDate>Fri, 15 Dec 2017 13:42:47 +0800</pubDate><description><![CDATA[在Idea中的Navigate-File和find in path两个功能非常的方便，尤其是在调试一些不太熟悉的项目的时候，可以通过两个功能快速全局查找文件以及在全局搜索文本。但是这两天发现了一个问题，就是在这两个搜索的结果中突然把编译后的结果也就是out目录中的.class文件也包括进来了，常常点错，很不舒服。 
今天发现了解决办法：在项目的配置界面Project Structure中，找到Mod]]></description><category></category></item><item><title><![CDATA[手欠升级后的各种异常处理]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78772040</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78772040</guid><author>daizhe</author><pubDate>Mon, 11 Dec 2017 14:04:33 +0800</pubDate><description><![CDATA[几天前手欠，忍不住升级了Mac系统到10.13，结果原来正常的项目启动各种报错，期间本着破罐破摔的原则顺手把Itellij Idea升级到2017.3，又把JRebel插件升级到了7.1.3，结果弄了4、5天才从坑里爬出来：quartz方法不匹配的异常原来正常的项目，报异常无法启动了，异常信息没记录，大意是调用com.quartz.scheduler.getTrigger方法时参数个数不匹配，因为代]]></description><category></category></item><item><title><![CDATA[jQuery触发超链接a的跳转事件]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78757757</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78757757</guid><author>daizhe</author><pubDate>Sat, 09 Dec 2017 10:58:17 +0800</pubDate><description><![CDATA[直接通过.click()方法是不能触发a的跳转事件的，必须通过a的子元素，例如：<a id="goPage" href="www.baidu.com">直接调用click()方法无效$("#goPage").click();可以这样：$("#goPage").append("<span></span>");
$("#goPage span").click();]]></description><category></category></item><item><title><![CDATA[jQuery判断是否为数字]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78546969</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78546969</guid><author>daizhe</author><pubDate>Thu, 16 Nov 2017 08:56:11 +0800</pubDate><description><![CDATA[var t=$("#id").val();//这个就是我们要判断的值了
if(!isNaN(t)){
  alert("是数字");
}else{
  alert("不全是数字");
}原文请看：jQuery 判断是否为数字的方法 及 转换数字函数]]></description><category></category></item><item><title><![CDATA[jQuery :nth-child() 选择器]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78546948</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78546948</guid><author>daizhe</author><pubDate>Thu, 16 Nov 2017 08:53:42 +0800</pubDate><description><![CDATA[在jQuery中可以通过 :nth-child(n)选择器来选择第n个子元素，例如：for (var i = 0; i < default_btnClass.length && i < 4; i++) {
    $("#toolBarBtnContainer button:nth-child(" + (i + 1) + ")").addClass(default_btnClass[i]);
}上面]]></description><category></category></item><item><title><![CDATA[jQuery中on方法向回调函数传递参数]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78485183</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78485183</guid><author>daizhe</author><pubDate>Thu, 09 Nov 2017 08:29:46 +0800</pubDate><description><![CDATA[jQuery的on方法用于替代早前版本的click等方法，传递参数的形式类似下面代码$("#i_" + id).on("click", {id: '123'}, function (e) {
    $("#li_tab_" + e.data.id).remove();
    ……
});其中on方法的第一个参数表示事件，第二个参数就是要向回调函数传递的数据，第三个参数是回调函数，注意其参数e，默]]></description><category></category></item><item><title><![CDATA[Bootstrap框架使用iframe及jQuery中load方法导致js失效问题]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78482562</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78482562</guid><author>daizhe</author><pubDate>Wed, 08 Nov 2017 20:01:05 +0800</pubDate><description><![CDATA[试用了几个Bootstrap框架，发现页面的结构都是通过div拼接的上左右三栏，点击链接是直接跳转到了一个完整的新页面。而通常的后台管理系统界面中，需要类似多标签浏览器的效果打开多个独立页面，只能用iframe实现。 
试了几种方法，在页面中直接include和用jQuery的load方法加载页面都出现嵌入的页面中的js代码无法执行的情况，最后找到解决方法，可以用以下代码实现：$("#tab_"+i]]></description><category></category></item><item><title><![CDATA[OpenCV4Android中的图像旋转另一方法]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78408432</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78408432</guid><author>daizhe</author><pubDate>Tue, 31 Oct 2017 21:38:31 +0800</pubDate><description><![CDATA[除了之前在OpenCV4Android中图像预览旋转90度的问题中提高的的CameraBridgeViewBase中的deliverAndDrawFrame修改的方法之外，还可以这样做： 
修改在MainActivity中的预览函数@Override  
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {  
    // TODO Au]]></description><category></category></item><item><title><![CDATA[Android判断屏幕方向]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78408390</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78408390</guid><author>daizhe</author><pubDate>Tue, 31 Oct 2017 21:33:56 +0800</pubDate><description><![CDATA[用如下代码判断是否横屏if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {  
    //竖屏  
} else {  
    //横屏  
}]]></description><category></category></item><item><title><![CDATA[在IDEA中实战Git]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78374263</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78374263</guid><author>daizhe</author><pubDate>Sat, 28 Oct 2017 11:26:59 +0800</pubDate><description><![CDATA[转载：点击这里查看原文 
工作中多人使用版本控制软件协作开发，常见的应用场景归纳如下： 
假设小组中有两个人，组长小张，组员小袁
场景一：小张创建项目并提交到远程Git仓库
场景二：小袁从远程Git仓库上获取项目源码
场景三：小袁修改了部分源码，提交到远程仓库
场景四：小张从远程仓库获取小袁的提交
场景五：小袁接受了一个新功能的任务，创建了一个分支并在分支上开发
场景六：小袁把分支提交到远程Git仓]]></description><category></category></item><item><title><![CDATA[Idea中使用github的标签(tag)]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78369019</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78369019</guid><author>daizhe</author><pubDate>Fri, 27 Oct 2017 20:54:06 +0800</pubDate><description><![CDATA[在git中，标签(tag)相当于一个固定的备份，当完成一个固定的版本时可以加上标签，如果之后出现了问题，可以退回到这个标签。 
在Idea中使用标签的方法：
加标签 
在Idea菜单依次选择VCS-git-tag，填写tag name即可（其他可选填）
push标签 
在Idea菜单依次选择VCS-git-push，注意选中对话框中的Push Tags，上传标签
查看标签 
目前Idea似乎不提供查]]></description><category></category></item><item><title><![CDATA[使用OpenCV4Android时的动态权限获取]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78348922</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78348922</guid><author>daizhe</author><pubDate>Thu, 26 Oct 2017 08:51:46 +0800</pubDate><description><![CDATA[使用OpenCV4Android时的动态权限获取Android6.0之后，一些危险权限不仅要在配置文件中列出（在安装应用时由用户确认），还需要加入动态申请权限代码，从而在运行应用时询问用户以获得动态授权。 
OpenCV4Android运行时需要摄像头权限也需要动态申请。 
动态权限的申请主要参考Android6.0动态权限申请 
特别注意OpenCV4Android的初始化和权限获取之间的顺序：]]></description><category></category></item><item><title><![CDATA[OpenCV4Android的JavaCameraView组件以及调用前摄像头]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78292107</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78292107</guid><author>daizhe</author><pubDate>Fri, 20 Oct 2017 09:48:30 +0800</pubDate><description><![CDATA[1、布局文件activity_main.xml

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tool]]></description><category></category></item><item><title><![CDATA[OpenCV4Android中图像预览旋转90度的问题]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78253068</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78253068</guid><author>daizhe</author><pubDate>Mon, 16 Oct 2017 19:16:40 +0800</pubDate><description><![CDATA[在将OpenCV4Android导入到Android项目之后，可以使用JavaCameraView控件调用相机，但是显示预览时，可能出现图像旋转了90度的情况。
在网上找到几种办法，都是修改OpenCV4Android中的CameraBridgeViewBase中的deliverAndDrawFrame方法，分别试了一下：
1、Android开发使用OpenCv中JavaCameraView预]]></description><category></category></item><item><title><![CDATA[Idea中自动注释的缩进（避免添加注释自动到行首）]]></title><link>https://blog.youkuaiyun.com/daizhe/article/details/78249272</link><guid>https://blog.youkuaiyun.com/daizhe/article/details/78249272</guid><author>daizhe</author><pubDate>Mon, 16 Oct 2017 14:22:11 +0800</pubDate><description><![CDATA[如图，打开设置界面，依次选择Editor-Code Style-Java，选择Code Generation，取消Line comment at first column和Block comment at first column的选中即可。]]></description><category></category></item></channel></rss>