Author: admin

[FFmpeg] ffmpeg 常用命令

1. 视频转换

比如一个avi文件,想转为mp4,或者一个mp4想转为ts。
ffmpeg -i input.avi output.mp4
ffmpeg -i input.mp4 output.ts

2. 提取音频

ffmpeg -i test.mp4 -acodec copy -vn output.aac
上面的命令,默认mp4的audio codec是aac,如果不是,可以都转为最常见的aac。
ffmpeg -i test.mp4 -acodec aac -vn output.aac

3. 提取视频

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

4. 视频剪切

    

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂(二)​

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂(二)​

 

相关阅读:

 

 

一张导图

 

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂(二)​

 

导图内容解析

 

  • http请求

    • 请求行+请求头(多个key-value对象)+一个空行+实体内容

    • 请求行

      • 请求方法

        • 常见方法:get post head

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂

 

相关阅读:

 

 

一张思维导图:

思维导图 | HTTP 超文本协议,让 HTTP 不再难懂

高清大图请点击阅读原文查看,或复制链接跳转:

  • http://upload-images.jianshu.io/upload_images/4120002-02a489103a926128.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

协议

  • HyperText Transfer Protocol,超文本传输协议
  • 一个无状态的请求/响应协议
  • 是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准
  • 基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)

工作原理

  • 默认端口号为80

Let’s Encrypt 宣布支持通配符证书,所有子域名可轻松开启 HTTPS

来自:开源中国

链接:oschina.net/news/94188/acme-v2-and-wildcard-certificate-support-is-live

 

Let's Encrypt 宣布 ACME v2 正式支持通配符证书。Let's Encrypt 宣称将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。

 

Let's Encrypt 宣布支持通配符证书,所有子域名可轻松开启 HTTPS

 

v2 vs v1

 

ACME v2 与 v1 API 有许多不同之处,值得注意的变更:

 

  1. 授权/签发流程已改变
  2. JWS 请求授权以改变
  3. JWS 请求体的"resource"字段被新的 JWS 请求头“url”替换
  4. 目录端点/资源重命名

 

ACMEv 是 ACME 协议的更新版本,考虑到行业专家和其他组织可能希望在某天使用 ACME 协议进行证书颁发和管理,它已经通过

    

PHP函数式编程的初步认识

最近朋友推荐这本书:Functional PHP ,很多对于程序设计方面的思路值得多思考和借鉴。函数式编程不是一个框架或工具,而是一种编写代码的方式。FP 是一种软件开发风格,主要强调功能的使用,个人觉得对于重构代码很有帮助。书中也谈到了例如 PHP5.3 中引入的闭包函数和高阶函数,在实际开发过程中善于活学活用也是函数式的灵魂所在。

PHP 新版本的解读

增加了严格的键入和标量类型声明类型声明允许你用合适的类或标量类型( boolean,integer,string,MyClass 等)限定任何函数参数。这些在PHP 5中被部分支持为“类型提示”,但没有标量支持。在PHP 7中,你也可以声明函数返回值的类型。
作为一种动态语言,PHP 将总是试图将错误类型的值强制转换为期望的标量类型。
例如,当给定一个字符串时,需要一个整数参数的函数将强制该值为一个整数,文件顶部引用强制类型检测模式

declare(strict_types=1);

参数异常会抛出如下错误e

PHP Warning: Uncaught TypeError: Argument 1 passed to increment() must be of the type integerstring

Ramda函数式编程之PHP

0x00 何为函数式编程

网上已经有好多详细的接受了,我认为比较重要的有:

  1. 函数是“第一等公民”,即函数和其它数据类型一样处于平等地位
  2. 使用“表达式”(指一个单纯的运算过程,总是有返回值),而不是“语句”(执行操作,没有返回值)
  3. 没有”副作用“,即不修改外部值

0x01 开始函数式编程

在此之前,请先了解PHP中的匿名函数和闭包,可以参考我写得博客
函数式编程有两个最基本的运算:合成和柯里化。

函数合成

函数合成,即把多个函数的运算合成一个函数,如
A=f(x)
B=g(x)
C=f(g(x))
那么C即是A和B的合成。
用代码表示为:

$compose = function ($f,$g){
    return function ($x) use($f,$g){ //这里返回一个函数的函数,即高阶函数

在Macbook Pro 上安装refind以引导os x + ubuntu双系统

前言

由于工作内容需求,不得不安装了一份ubuntu,这里记录一下如何安装第三方引导工具以引导两个操作系统

准备工作

  • 一台搭载os x的电脑(linux其实也可以,这里读者自行琢磨)
  • refind主程序,这里可以下载到最新版,并放置在桌面上
  • 一个人

开始安装

  • 首先讲述一下如何关闭os x的安全保护-SIP(简单理解为这个东西可以防止你对系统分区进行读写操作)
重启 Mac,按住 Command+R 键直到 Apple logo 出现,进入 Recovery Mode
点击 Utilities > Terminal
在 Terminal 中输入 csrutil disable,之后回车
重启 Mac
  • 1
  • 2
  • 3
  • 4
  • 这里以我的电脑为例,各位请参考自己的实际情况操作。打开终端(Terminal),输入以下命令(参考注释和个人实际情况操作)
cd Desktop 

Swoole| Swoole 中 Process

date: 2018-1-8 20:56:08
title: Swoole| Swoole 中 Process

这篇 blog 折腾了很久才写出来, 问题主要还是在 理解 上. 有时候就是这样,

理解了之后就很简单, 不理解就很难; 知道了就很简单, 不知道往往就很难. 所以 stay hungry stay foolish stay young 真的很重要

本来计划开发 swoft 框架 中的 Process 模块, 所以需要对 swoole 的 Process 模块要有比较深入的了解才行. 不过根据 swoole