Mark

Java Web 中使用ffmpeg实现视频转码、视频截图

蹲街弑〆低调 提交于 2021-02-11 15:26:28
Java Web 中使用ffmpeg实现视频转码、视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html ] 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。 ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。 1.能支持的格式 ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 2.不能支持的格式 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式. 实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具. 数据库 MySQL5.5 实例所需要的数据库脚本 drop database if exists db_mediaplayer; create

Haproxy官方文档翻译(第二章)配置Haproxy 附英文原文

我们两清 提交于 2021-02-11 13:23:04
2.配置 HAProxy 2.1 配置文件格式 Haproxy的配置过程包含了3部分的参数资源: - 命令行中的参数,此种参数总是享有优先权被使用 - 配置文件中global节点中的参数,此种参数是进程范围参数 - 代理节点参数,此种参数是从defaults,listen,frontend,backend节点中读取的 这个手册里,以关键字起始并作为关联引用的行,组成了配置文件的语法结构。后面跟上可选的一个或者几个用空格隔开的参数。 2.2 引用(Quoting)和转义(escaping) Haproxy的配置介绍了一个像大多数编程语言一样的引用和转义的系统。配置文件支持3种类型:用一个反斜杠(\),弱引用用双引号, 强引用用单引号。 如果字符串中必须要加入空格,必须要在它们前面加上反斜杠('\')来转义它们或者用引号引起来。反斜杠也必须用双反斜杠或者强引用来转义它们。 我们在一个特殊字符前面加上反斜杠('\')来表达一个转义: \ 用来表示空格,以区分一个分隔符 \# 用来表示一个#号,以区分注释符号 \\ 表示一个反斜杠 \' 表示一个单引号,以区分强引用 \" 表示一个双引号,以区分弱引用 弱引用使用双引号来实现("")。用来阻止解释语义(使特殊字符变为普通字符,比如让以下特殊字符所表示的特殊意义失效): 空格字符表示参数的分隔符 ‘ 单引号表示强引用的分隔符 #

mysql新手入门随笔4

丶灬走出姿态 提交于 2021-02-10 13:25:19
40 、子查询:出现在其他 SQL 语句里的 SELECT 语句 例如: SELECT sname,mark FROM student WHERE mark = (SELECT max(mark) FROM student); SELECT sname,mark FROM student WHERE mark in (SELECT max(mark) FROM student); 等效于:SELECT sname,mark FROM student WHERE mark =any (SELECT max(mark) FROM student); in 等效于 =any not in 等效于 !=all 或 <>all 41 、多表连接查询 内连接: INNER JOIN,JOIN,CROSS JOIN,NATURAL JOIN 意思:两张表的交集,仅显示符合连接条件的记录,不符合的不显示 用法:SELECT a.*,b.* FROM pa a INNER JOIN pb b ON a.id = b.id; 左 ( 外 ) 连接: LEFT (OUTER) JOIN 意思:显示左表全部和左右表中符合连接条件的记录 用法:SELECT a.*,b.* FROM pa a LEFT (OUTER) JOIN pb b ON a.id = b.id; 右 ( 外 ) 连接: RIGHT

php 二维数组按某个字段排序

被刻印的时光 ゝ 提交于 2021-02-07 21:35:30
主要用到两个函数: 1.array_column() 返回输入数组中某个单一列的值。php版本5.5以后自带 这里提供个php版本低于5.5的兼容方式 if (! function_exists ('array_column' )) { function array_column( $input , $column_key = null , $index_key = null ) { $result = array (); $i = 0 ; foreach ( $input as $v ) { $k = $index_key === null || ! isset ( $v [ $index_key ]) ? $i ++ : $v [ $index_key ]; $result [ $k ] = $column_key === null ? $v : ( isset ( $v [ $column_key ]) ? $v [ $column_key ] : null ); } return $result ; } } 2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多 个值相同,它将对下一个数组进行排序。 具体代码:[代码取自: https://www.cnblogs.com

linux之iptables详解

时光怂恿深爱的人放手 提交于 2021-02-07 12:16:03
iptables/netfilter是一组工具 netfilter:是内核中的一个过滤框架,规则生效位置的框架 iptables:是一个能生防火墙规则,并能将规则附加在netfilter上的,真正实现数据报文过滤和规则生成的工具 网络:IP报文首部 ①ipv4(4bit) Hdr Len首步-长度(4bit) type of service(8bit) total lenght(16bit) ②Identification(Fragment ID 16bits)段标识:数据报文传在网络传输的时候,如果两个网络设备之间支持接收的数据报文大小不同的时候,要 实行分片机制,所以每个分片的报文都有一个标识符,从而实现在对端设备进行重组 MF:更多的分片;DF:不进行分片;R:返回错误信息; Fragment Offset:片偏移量 0表示第一个 ③Time-To-Live(TTL 8bits) 生存时间 Protocol(8bits)协议:tcp ucp icmp(互联网控制消息协议) Header首部校验和Checksum(16bits):存放报文首部检验码,接收方可通过首部校验码查看首部报文是否有问题 ④Source IP Address源IP地址(32bits): 源IP地址信息 ⑤Destination IP Address(32bits): 目的IP地址信息 ⑥Options

深入理解java虚拟机

纵然是瞬间 提交于 2021-02-04 17:52:58
目录:     一、运行时数据区域     二、对象创建,以及内存的分配     三、对象的内存布局     四、对象的访问定位     五、对象已死吗     六、再谈引用     七、回收方法区     八、JVM内存分代策略     九、垃圾收集算法     十、垃圾收集器     十一、class类文件的结构     十二、类加载时机     十三、类加载过程     十四、类加载器(启动类加载器、扩展类加载器、应用程序类加载器、还有自定义的加载器哦)     十五、类的实例化顺序 一、运行时数据区域 二、对象创建,以及内存的分配 1)分配策略(在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。选择哪种分配方式由Java堆是否规整决定,而Java堆是否规整又由所采用的垃圾收集器是否带有压缩整理功能决定) “指针碰撞”(Bump the Pointer):假设Java堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间那边挪动一段与对象大小相等的距离。 “空闲列表”(Free List):如果Java堆中的内存并不是规整的,已使用的内存和空闲的内存相互交错

滴滴海外市业务面试经历

大憨熊 提交于 2021-02-03 12:43:44
滴滴海外部现在正处在发展阶段,需要的人会更多些。但是他们的面试还是要有一定的深度扩展,很遗憾我没有达到公司的要求。现在对我面试中遇到的问题总结下。 1,java多线程 ConcurrentHashMap 分段锁具体实现 2,线程间的通信机制有哪些。 3,CyclicBarrier和CountDownLanch之间的区别。 4,Lock接口 tryLock具体实现 5,线程池种类,你用过哪种线程池,各个线程池的特点,实现机制 6,阻塞队列实现原理,LinkedBlockingQueue为啥用两把锁 7,GC算法有哪些。 8,HashMap,HashSet,TreeSet,TreeMap实现 9,优先级队列是如何实现的。 10,JVM的结构 11,垃圾回收算法 12CMS实现机制 stop the world在CMS下的具体实现。 而CMS主要分为 initial Mark, Concurrent Mark, ReMark,Concurrent Sweep等阶段,initial Mark和Remark占整体的时间比较较小,它们会Stop the world. Concurrent Mark和Concurrent Sweep会和用户线程一起运行。虽然CMS减少了stop the world的次数,不可避免地让整体GC的时间拉长了 13, Linux里面的命令 14

原地过年,就地学习

ⅰ亾dé卋堺 提交于 2021-02-03 12:36:10
前阵子发了个朋友圈,2020年很艰难,目前看2021也不会很快变轻松:世界还没有恢复过来,国外还在提倡居家隔离,国内也在建议原地过年…… 但是,人可以被lock down,学习可以继续啊~ 乔帮主那句著名的话,其实就是来自于这本书的。放在今天这个语境,我又加了一句,所以就成了: Stay hungry, Stay foolish, Stay home. 我心里的翻译两个版本: 正经版:求索如饥,求知若愚,心安归处。 搞笑版:做个吃货,做个二货,做个死宅。 那么问题来了,闷在家里怎么学习呢?2020年的12个月过去了,2021年的1个月也过去了,时间真的别再浪费了。在家只要有网络,就能开始学习。最近我自己逼着自己去考了微软的考试,在这个过程中也发现很多非常有价值的资源和信息。稍后可以和大家分享一下,所以请耐心看完以下的介绍~ 考虑到大流行对于整个经济和政治不可逆转的影响,全新的工作模式将会变得越来越重要。这个过程中,即包含了非接触的远程工作方式,也包含了非接触的云端计算方式。 因此,视野之内其实也看到了越来越多的混合架构。同时,从不同的方面也获得了大流行期间出现了更多的安全威胁。作为这个行业的从业人员,我们可以暂时不使用,但却不能一直不了解。所以,明天(2月2日)将有一场重量级的技术盛会——ITOps Talks:All Things Hybrid,在线上为大家提供非常丰富的内容

没看够?最美官方来了!

有些话、适合烂在心里 提交于 2021-02-03 07:07:05
上一条隔空传送给大家SAS全球论坛2020直播视频,各位伙伴是不是也感受到了这场数据分析界大会的热烈气氛, 观摩视频就仿佛与数据大佬齐聚一堂,近距离聆听他们的真知灼见 ,抑或是精妙的思路方法。 不过,由于微信公众号每篇文章只能播放三条视频的限制,上一篇的视频未必能覆盖到你所关注的所有领域或技术点,为此,小赛这里再为您呈现三支重要视频。 1. 用于在线欺诈侦测的7种最流行的机器学习算法及其在SAS中的应用 嘉宾 Patrick Maher 职位 SAS首席解决方案架构师 亮点 如何根据历史数据训练数据集分类新数据 案例演示 19min+ 点击下载该论文 2. 从SAS 9.4向SAS Viya迁移 嘉宾 Mark Schneider 职位 SAS产品经理 亮点 互操作性 内容推广 替换 19min+ 点击下载该论文 3. 如何将Python应用到SAS可视数据挖掘和机器学习里 嘉宾 Jagruti Kanjia 职位 SAS高级分析顾问 亮点 如何在VDMML中集成开源技术 如何用python环境用于数据准备或模型构建 20min+ 点击下载该论文 小赛最后的碎碎念, 近期SAS全球论坛2020视频的观看tips。 哪里可以看到这些视频 · 在本公号中我们会陆续推送系列内容,本期推送的头条、二条文章发布共6个技术视频 · 7月初会陆续放送技术视频 微信公众号观看视频流程

大学期间必须知道的JVM知识

ぃ、小莉子 提交于 2021-02-02 13:00:15
真正没有资格谈明天的人,是那个不懂得珍惜今日的人。 你好,我是梦阳辰,期待与你相遇! 概述 它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。 Java虚拟机主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块。 JVM是运行在操作系统之上的,它与硬件没有直接的交互 JVM体系结构概览 亮色区域: 线程共享 存在垃圾回收 01.类装载器ClassLoader 负责 加载class文件 ,class文件在文件开头 有特定的文件标示 , 将class文件字节码内容加载到内存中,并将这些内容转换成 方法区 中的运行时数据结构并且ClassLoader 只负责class文件的加载 ,至于它是否可以运行,则由Execution Engine决定。 类装载器类似于快递公司。 **特定标识:**cafe babe 类装载器的种类 虚拟机自带的加载器 启动类加载器(Bootstrap) C++扩展类加载器(Extension) ava应用程序类加载器