ffmpeg命令行使用

2023-05-16

查看视频信息

ffmpeg -i 视频名字

在这里插入图片描述
视频名字这里输入前几个字符按 tab 键可以自动补全

返回结果:
在这里插入图片描述

红框之内的内容没什么用

编码器 :encoder : Lavf57.25.100
持续时间:Duration: 00:14:20.58, start: 0.000000, bitrate: 381 kb/s
Duration 持续时间,start 开始时间,bitrate比特率

视频流: Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p, 1360x768, 182 kb/s, 29.94 fps, 30 tbr, 15360 tbn, 30720 tbc (default)
h264编码格式,avc1封装格式,yuv420p每一帧的格式,1360x768分辨率,182 kb/s 视频比特率,29.94 fps帧数

音频流: Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, flt
p, 191 kb/s (default)
aac 编码格式,mp4a 封装格式,44100 Hz 采样率,stereo 立体声,fltp 浮点型,191 kb/s (default)音频比特率

去除音频

ffmpeg -i 文件名 -an -vcodec copy 文件名.mp4

-an去除音频,-vcodec copy拷贝源数据的视频流到文件名.mp4文件里面

去除视频

ffmpeg -i 文件名 -vn -acodec copy 文件名.mp4

-vn去除音频,-acodec copy拷贝源数据的音频流到文件名.mp4文件里面

保存音频为AAC文件

 ffmpeg -i 文件名.mp4 -vn -acodec copy 文件名.aac

改变视频分辨率

ffmpeg -i 文件名.mp4 -vf scale=640:360 文件名.mp4

scale=后面填写的是修改后的分辨率

ffmpeg -i 文件名.mp4 -vf scale=iw*2:ih*2 文件名.mp4

把分辨率变成两倍,也可以*0.5变成二分之一

隐藏无用信息

ffmpeg -i 文件名.mp4 -hide_banner

在这里插入图片描述

添加水印

ffmpeg -i 文件名.mp4 -i 水印.png -filter_complex overlay out.mp4

默认左上角,overlay=W-w 是右上角,overlay=0:H-h 是左下角,overlay=W-w:H-h 是右下角
大写的 H 是视频的高度,大写的 W 是视频的宽度,小写的 h 是水印的高度,小写的 w 是水印的宽度。

去除水印

ffmpeg -i 文件名.mp4 -vf delogo=x:y:w:h:show out.mp4

x,y 确定logo的位置坐标
w,h 设置logo的宽高
show 表示是否显示矩形框,默认是 0 不显示,1 是显示

添加文字水印

ffmpeg -i 文件名.mp4 -vf drawtext=text='内容':fontcolor='颜色':fontsize=字号 out.mp4

截取视频

ffmpeg -i 文件名.mp4 -ss 秒 -to 时间 out.mp4

从多少秒开始,截取多长时间的视频

视频转换为gif

ffmpeg -i 文件名.mp4 -ss 10 -t 5 -s 640*320 -r 15 out.mp4

-ss 开始时间
-t 持续时间
-i 后面是源文件
-s 动图分辨率
-r 帧率

ffmpeg -i 文件名.mp4 -vframes 30 out.gif

-vframes 30 视频前三十帧
把视频前三十帧转换为gif

视频压缩之 -crf

ffmpeg -i 文件名.mp4 -c:v libx264 -crf 23 out.mp4

×264 默认值是 23(建议18 - 28)
×265 默认是28(建议24 - 34)
两个的可用值是 0 到 51
值越小编码质量越好,码率越高
其中 0 可以说是无损的,51质量最差
crf 差别为6就会导致文件大小加倍或者减半

视频压缩之 -preset

ffmpeg -i 文件名.mp4 -vocdec libx264 -preset xxx -crt 25 out.mp4

preset 主要影响编码的速度,并不会很大影响输出文件的大小
x264编码算法有下列参数值
ultrafast 编码速度最快压缩率低,生成文件很大
superfa
veryfast
faster
fast
medium x264默认标准
slow
slower
veryslow
placebo 编码速度最慢,压缩率高,生成文件小

xxx 就是填入下列的参数

给视频或图像加上黑边

ffmpeg -i 文件名.mp4 -vf pad=1080:720:0:56:black out.mp4

pad后面参数值依次为:宽,高,x坐标,y坐标,默认是黑边可以不写
56:(720 - 680)/2=56
1080 x 608分辨率变成 1080 x 720分辨率

转格式

ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv

上面的命令表式的是音频、视频都直接 copy,只是将 mp4 的封装格式转成了flv。
copy是把原来的并不条件

  • -i: 输入文件
  • -vcodec copy : 视频编码处理方式
  • -acodec copy: 音频编码处理方式

音视频合并

ffmpeg -i out.h264 -i out.aac -vcodec copy -acodec copy out.mp4

提取YUV数据

ffmpeg -i input.mp4 -an -c:v rawvideo -pixel_format yuv420p out.yuv

ffplay -s (wxh分辨率,stream中看) out.yuv
  • -an: a代表audio,n代表no不包括音频的
  • -c:v rawvideo 指定将视频转成原始数据
  • -pixel_format yuv420p 指定转换格式为yuv420p(4:2:0)

YUV转H264

ffmpeg -f rawvideo -pix_fmt yuv420p -s 320x240 -r 30 -i out.yuv -c:v libx264 -f rawvideo out.h264

提取PCM数据

ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

播放的时候参数也要和上面一样,因为不知道你用什么采样率和声道是啥

ffplay -ar 44100 -ac 2 -f s16le -i out.pcm
  • -vn: v代表video,n代表不要视频
  • -ar: a代表audio,r代表read,采样率44100 44.1k
  • -ac: a代表audio,c2代表双声道还有立体声,环绕立体声
  • -f: 音频抽取出来的存取格式, s16 s代表有符号的,每一位16位表示

PCM转WAV

ffmpeg -f s16be -ar 8000 -ac 2 -acodec pcm_s16be -i input.raw output.wav

查看有哪些设备

首先通过下面的命令查看一下 mac 上都有哪些设备。

ffmpeg -f avfoundation -list_devices true -i ""

录屏

yuv播放的时候需要指定宽高

ffmpeg -f avfoundation -i 1 -r 30 out.yuv
  • -f 指定使用 avfoundation 采集数据。
  • -i 指定从哪儿采集数据,它是一个文件索引号。在我的MAC上,1代表桌面(可以通过上面的命令查询设备索引号)(1其实是个索引,屏幕是1,摄像头是0)。
  • -r 指定帧率。按ffmpeg官方文档说-r与-framerate作用相同,但实际测试时发现不同。-framerate 用于限制输入,而-r用于限制输出。

注意,桌面的输入对帧率没有要求,所以不用限制桌面的帧率。其实限制了也没用。

播放

录制的时候会提示

Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 3360x2100,
q=2-31, 3386880 kb/s, 30 fps, 30 tbn, 30 tbc

-s 3360x2100
-pix_fmt uyvy422

ffplay -s xxxxx(你录制时候的宽高) -pix_fmt (也是你录制时候的格式) ./out.yuv

录屏+声音

ffmpeg  -f avfoundation -i 1:0  -r 29.97 -c:v libx264 -crf 0 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k  out.flv
ffmpeg -y -f avfoundation -i 1:0 -framerate 60 -c:v libx264 -r 60 -pix_fmt yuv420p -preset 0 -crf 19 -c:a aac -b:a 192k "$HOME/Screen Record $(date "+%Y-%m-%d %H-%M-%S").mp4"
  • -i 1:0 冒号前面的 “1” 代表的屏幕索引号。冒号后面的"0"代表的声音索相号。
  • -c:v 与参数 -vcodec 一样,表示视频编码器。c 是 codec 的缩写,v 是video的缩写。
  • -crf 是 x264 的参数。 0 表式无损压缩。
  • -c:a 与参数 -acodec 一样,表示音频编码器。
  • -profile 是 fdk_aac 的参数。 aac_he_v2 表式使用 AAC_HE v2 压缩数据。
  • -b:a 指定音频码率。 b 是 bitrate的缩写, a是 audio的缩与

录视频

ffmpeg -framerate 30 -f avfoundation -i 0 out.mp4 
  • -framerate 限制视频的采集帧率。这个必须要根据提示要求进行设置,如果不设置就会报错。
  • -f 指定使用 avfoundation 采集数据。
  • -i 指定视频设备的索引号

视频+音频

ffmpeg -framerate 30 -f avfoundation -i 0:0 out.mp4 

录音

ffmpeg -f avfoundation -i :0 out.wav

0是代表设备的索引,可以去上面查看

录制好了播放

ffplay ./out.wav

录制音频裸数据

ffmpeg  -f avfoundation -i :0 -ar 44100 -f s16le out.pcm

视频缩小一倍

ffmpeg -i out.mp4 -vf scale=iw/2:-1 scale.mp4
  • -vf scale 指定使用简单过滤器 scale,iw/2:-1 中的 iw 指定按整型取视频的宽度。 -1 表示高度随宽度一起变化。

视频裁剪

ffmpeg -i VR.mov  -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy -video_size 1280x720 vr_new.mp4

crop 格式:crop=out_w:out_h : x : y

  • out_w: 输出的宽度。可以使用 in_w 表式输入视频的宽度。
  • out_h: 输出的高度。可以使用 in_h 表式输入视频的高度。
  • x : X坐标
  • y : Y坐标

如果 x和y 设置为 0,说明从左上角开始裁剪。如果不写是从中心点裁剪。

倍速播放

ffmpeg -i out.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" speed2.0.mp4
  • -filter_complex 复杂滤镜,[0:v]表示第一个(文件索引号是0)文件的视频作为输入。setpts=0.5*PTS表示每帧视频的pts时间戳都乘0.5,也就是差少一半。[v]表示输出的别名。音频同理就不详述了。
  • map 可用于处理复杂输出,如可以将指定的多路流输出到一个输出文件,也可以指定输出到多个文件。"[v]"复杂滤镜输出的别名作为输出文件的一路流。上面 map的用法是将复杂滤镜输出的视频和音频输出到指定文件中。

对称视频

ffmpeg  -i out.mp4 -filter_complex "[0:v]pad=w=2*iw[a];[0:v]hflip[b];[a][b]overlay=x=w" duicheng.mp4
  • hflip 水平翻转

如果要修改为垂直翻转可以用vflip。

画中画

ffmpeg -i out.mp4 -i out1.mp4 -filter_complex "[1:v]scale=w=176:h=144:force_original_aspect_ratio=decrease[ckout];[0:v][ckout]overlay=x=W-w-10:y=0[out]" -map "[out]" -movflags faststart new.mp4

录制画中画

ffmpeg  -f avfoundation -i "1" -framerate 30 -f avfoundation -i "0:0" 
-r 30 -c:v libx264 -preset ultrafast 
-c:a libfdk_aac -profile:a aac_he_v2 -ar 44100 -ac 2 
-filter_complex "[1:v]scale=w=176:h=144:force_original_aspect_ratio=decrease[a];[0:v][a]overlay=x=W-w-10:y=0[out]" 
-map "[out]" -movflags faststart -map 1:a b.mp4

多路视频拼接

ffmpeg  -f avfoundation -i "1" -framerate 30 -f avfoundation   -i "0:0" -r 30 -c:v libx264 -preset ultrafast -c:a libfdk_aac -profile:a aac_he_v2 -ar 44100 -ac 2 -filter_complex "[0:v]scale=320:240[a];[a]pad=640:240[b];[b][1:v]overlay=320:0[out]" -map "[out]" -movflags faststart  -map 1:a  c.mp4

添加水印

ffmpeg -i out.mp4  -vf "movie=logo.png,scale=64:48[watermask];[in][watermask] overlay=30:10 [out]" water.mp4
  • -vf中的 movie 指定logo位置。scale 指定 logo 大小。overlay 指定 logo 摆放的位置。

删除水印

先通过 ffplay 找到要删除 LOGO 的位置

ffplay -i test.flv -vf delogo=x=806:y=20:w=70:h=80:show=1

使用 delogo 滤镜删除 LOGO

ffmpeg -i test.flv -vf delogo=x=806:y=20:w=70:h=80 output.flv

裁剪

ffmpeg -i out.mp4 -ss 00:00:00 -t 10 out1.mp4
  • -ss 指定裁剪的开始时间,精确到秒,时:分:秒
  • -t 被裁剪后的时长,单位为秒

合并

首先创建一个 inputs.txt 文件,文件内容如下:

file ‘1.flv’
file ‘2.flv’
file ‘3.flv’

然后执行下面的命令:

ffmpeg -f concat -i inputs.txt -c copy output.flv

hls切片

ffmpeg -i out.mp4 -c:v libx264 -c:a libfdk_aac -strict -2 -f hls  out.m3u8
  • -strict -2 指明音频使有AAC。
  • -f hls 转成 m3u8 格式。

视频转JPEG

ffmpeg -i test.flv -r 1 -f image2 image-%3d.jpeg
  • -r : 图片转出的帧率,每秒钟转出1张图片
  • -f : 将输入文件转成什么格式
  • %3d是动态的,3个数字组成的

视频转gif

ffmpeg -i out.mp4 -ss 00:00:00 -t 10 out.gif

图片转视频

这个会一下把所有帧全部输出

ffmpeg  -f image2 -i image-%3d.jpeg images.mp4
  • -i : 表示输入,后面是图片

播放YUV 数据

ffplay -pix_fmt nv12 -s 192x144 1.yuv 

播放YUV中的 Y平面

ffplay -pix_fmt nv21 -s 640x480 -vf extractplanes='y' 1.yuv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg命令行使用 的相关文章

  • 010-java 表单方式或者base64方式上传图片,后端使用nutz的post转发图片到另一个请求...

    本地上传图片 方式一 使用表单方式上传 enctype lt form enctype 61 34 multipart form data 34 method 61 34 post 34 action 61 34 http face lhx
  • 使用 kindeditor 编辑器无法上传图片

    引入kindeditor后试了一下上传图片的功能 xff0c 上传以后发现图片一直无法显示 xff0c 看了一下它的设置路径 xff0c 代码如下 文件保存目录路径 save path 61 php path 39 attached 39
  • Android基础入门教程——5.2.3 Fragment实例精讲——底部导航栏的实现(方法3)

    Android基础入门教程 5 2 3 Fragment实例精讲 底部导航栏的实现 方法3 标签 xff08 空格分隔 xff09 xff1a Android基础入门教程 本节引言 前面我们已经跟大家讲解了实现底部导航栏的两种方案 xff0
  • 安装idea,使用license Server 方式。。。你懂的

    1 下载并且安装idea 下载连接 2 准备jar 包 jetbrains agent jar 下载链接 xff1a 链接 xff1a https pan baidu com s 1FoXi fF79q4qIFLmvHZ4uQ 提取码 xf
  • 前辈大公司的面试,重点是他推荐我们应该看得那些书

    应届生上泡了两年 xff0c 一直都是下资料 xff0c 下笔试题 xff0c 面试题 一直都在感谢那些默默付出的人 写这个帖子花了我两个夜晚的时间 xff0c 不是为了炫耀 xff0c 只是为了能给那些 迷惘 的学弟学妹 xff0c 一点
  • PowerManagerService第五讲之常见问题

    1 唤醒问题 通常按Power key去亮屏 xff0c 会产生两种结果 xff1a 一个是能亮起来 xff0c 但是时间长 xff1b 另一个是无法点亮 亮屏慢的问题更关注的是各个阶段的时间 xff0c 找到哪一个时间最长后 xff0c
  • C语言指针加1的原理,真的很难吗

    问题背景 最近有小伙伴对于C语言中指针的运算有点疑问 xff1a 指针变量加1之后 xff0c 到底向后偏移了几个字节呢 xff1f 示例代码如下 xff0c 这段代码运行在32位CPU平台上 xff1a include lt stdio
  • android studio 删除插件后打不开missing essential plugin org.jetbrains

    missing essential plugin org jetbrains android please reinstall android studio for scratch 主要是要找到disabled plugins txt这个文
  • 我读Mongoose源码----程序框架

    Mongoose是一种WEB服务器 xff0c 因为最近在学习网络编程 xff0c 所以打算研究研究它的源码 xff0c 认真看了大部分 xff0c 觉得学到的东西的确不少 xff0c 拿出来分享一下 xff0c 也和大家交流交流 至于什么
  • git的简单使用

    以前一直没有提交过代码 xff0c 这次提交一下代码 xff0c 整理一下 xff47 xff49 xff54 的简单使用 1 首先我们要在github上面创建一个帐号 xff0c 之后创建一个仓库create a new repo xff
  • 二叉查找树的实现

    二叉查找树是这样定义的 xff1a 二叉查找树 xff08 Binary Search Tree xff09 xff0c 或者是一棵空树 xff0c 或者是具有下列性质的二叉树 xff1a 若它的左子树不空 xff0c 则左子树上所有结点的
  • Centos curl ssl 替换 NSS 为 OpenSSL

    参考 xff1a https www latoooo com xia zhe teng 368 htm 我的系统版本是 Centos 7 64位 为了方便 xff0c 先安装常用的开发环境 yum groupinstall Developm
  • 翻转n个硬币的问题

    今天去面试 面试官问了我这样一个问题 当时答的很近了 但是还差一点 最后还是被pass了 原题是这样 一堆硬币有n个 都是朝下的 翻转n次 第一次翻转能被1整除的 第2次翻转能被2整除的 第三次翻转能被3整除的 这样直到第n次翻转能被n整除
  • linux下查看磁盘分区,文件系统,磁盘文件系统的命令

    http www linuxsir org bbs thread214738 html 一 df 命令 xff1b df 是来自于coreutils 软件包 xff0c 系统安装时 xff0c 就自带的 xff1b 我们通过这个命令可以查看
  • Redis源码-数据结构之Adlist双端链表

    Redis的Adlist实现了数据结构中的双端链表 xff0c 整个结构如下 xff1a 链表节点定义 xff1a typedef struct listNode struct listNode prev struct listNode n
  • Redis源码-事件库

    网上看了很多Redis事件库的解读 xff0c 自己也研究了好几遍 xff0c 还是记录下来 xff0c 虽然水平有限 xff0c 但是进步总会是有的 网络事件库封装了Epoll的操作 xff08 当然是指Linux下的多路复用了 xff0
  • Redis源码分析-内存数据结构intset

    这次研究了一下intset xff0c 研究的过程中 xff0c 一度看不下过去 xff0c 但是还是咬牙挺过来了 xff0c 看懂了也就是那么回事 xff0c 静下心来 xff0c 切莫浮躁 Redis为了追求高效 xff0c 在存储下做
  • swift解析html

    最 近刚刚接触IOS开发 xff0c 在swift和OC之间纠结了很久 xff0c 不过对于一个java程序员来说 xff0c OC实在有些难以上手 xff0c 再看看swift xff0c 她就友好多了 xff0c 虽然现在大部分的App
  • 归并排序的迭代实现

    之前在另一篇文章中C 43 43 归并排序与快速排序详细分析了归并排序的递归实现 xff0c 但是会占用大量的时间和空间 xff0c 算法的效率低下 xff1b 使用迭代的方式代替递归的方式虽然比较难想 xff0c 但是会增大效率 如何写迭
  • java.lang.IllegalArgumentException异常解决

    在maven项目中测试代码的时候 xff0c 碰到java lang IllegalArgumentException 异常 xff1a 严重 Servlet service for servlet e3 manager in contex

随机推荐

  • Linux下的 command not found错误(解决方法)

    当我们在 Linux下执行一个命令时 xff0c 报 bash XXXX command not found xff0c 这和Windows是相同的道理 xff0c 都是环境变量惹的祸 xff0c 就是说你的 命令的 执行文件不在 usr
  • ubuntu18.04输入正确用户密码后黑屏并闪回登录界面解决方案

    过年离开实验室一会 xff0c 接了个向日葵远程控制 xff0c 连进来一不认识的 xff0c 然后工作站的cloudcompare打不开 xff0c 回来重启电脑之后开机一直循环登录界面 xff0c 没有办法进入任何一个用户的桌面 参考了
  • 小狼毫输入法的详细配置大全

    小狼毫输入法的详细配置大全 1 安装 在官网 https rime im download 下载并安装 这个路径有所有配置菜单的快捷方式 C ProgramData Microsoft Windows Start Menu Programs
  • 自我实现ArrayList

    面试者经常遇到集合类源码的问题 我们不求将所有的细节都记住 xff0c 但ArrayList与LinkedList比较 add get remove 扩容 及相关时间复杂度等核心思想要理解得一清二楚 ArrayList底层用数组实现 xff
  • 好博客要记录:JVM基础概念总结:数据类型、堆与栈、基本类型与引用类型

    JVM基础概念总结 xff1a 数据类型 堆与栈 基本类型与引用类型 Java虚拟机中 xff0c 数据类型可以分为两类 xff1a 基本类型和引用类型 基本类型的变量保存原始值 xff0c 即 xff1a 他代表的值就是数值本身 xff1
  • Future、FutureTask浅析

    Futurer多用于 耗时线程的计算 xff0c 主线程可以在完成自己的任务后 xff0c 再去查询该Future是否执行完毕并获取结果 他有一个回调函数protected void done xff0c 当任务结束时 xff0c 该回调函
  • 基于LinkedBlockingQueue源码自我实现阻塞队列

    LinkedBlockingQueue是一个阻塞的 线程安全的 由链表实现的双向队列 xff0c 和ArrayBlockingQueue一样 xff0c 是最普通也是最常用的阻塞队列 现基于LinkedBlockingQueue源码自我实现
  • AsyncTask原理详解

    在Android中 xff0c 异步执行是很重要的一块内容 xff0c 诸如网络请求 xff0c 大图片的加载 xff0c 等待等耗时操作都要在后台线程执行 xff0c 而这些操作又要通过UI线程来调用 xff0c 这样我们不得不需要通过异
  • LinearLayout和RelativeLayout的特殊属性

    Relativelayout属性 xff1a 属性名称描述android layout centerHorizontal水平居中android layout centerVertical垂直居中android layout centerIn
  • Activity launchmode和Intent flag详解

    学习安卓 xff0c 首先就要接触和学习Activity xff0c 想必大家在学习activity的过程中一定对activity的launchmode有过困惑 好在网络上关于activity launchmode的博客 解释一大堆 xff
  • 利用Canvas saveLayer手动绘制圆角View

    项目中包含了一个腾讯地图 xff0c 由于腾讯地图mapView不支持圆角背景 xff0c so决定自己画四个圆角view CornerView xff0c 覆盖在mapView上以实现圆角矩形的效果 要实现这样的效果 xff0c 需要重新
  • java内部类总结

    内部类是指在一个外部类的内部再定义一个类 类名不需要和文件夹相同 内部类可以是静态static的 xff0c 也可用public xff0c default xff0c protected和private修饰 xff08 而外部顶级类即类名
  • Linux服务器下Java环境配置-详细

    环境 xff1a Linux环境 具体步骤 xff1a 1 首先查看当前服务器环境是否已配置了JAVA 命令 xff1a java version 2 开始配置 通过官网下载JDK文件 xff0c 地址 xff1a https www or
  • 常用的Java文件操作

    span class hljs comment 1 创建文件夹 span span class hljs comment import java io span File myFolderPath 61 span class hljs bu
  • IntentFilter

    当Intent在组件间传递时 xff0c 组件如果想告知Android系统自己能够响应和处理哪些Intent xff0c 那么就需要用到IntentFilter对象 顾名思义 xff0c IntentFilter对象负责过滤掉组件无法响应和
  • 虚拟机集群关机脚本

    集群关机脚本 当我们使用虚拟机的数量过多时候 xff0c 一一关机未免显得太过麻烦 xff0c 所以这里设计了一个简单的Shell集群关机脚本 xff1a 这里以三台为例 xff1a Linux4 Linux3 Linux2 bin bas
  • Redis3.0集群crc16算法php实现方法(php取得redis3.0集群中redis数据所在的redis分区插槽,并根据分区插槽取得分区所在redis服务器地址)

    数据分区 Redis集群将数据分区后存储在多个节点上 xff0c 即不同的分区存储在不同的节点上 xff0c 每个节点可以存储多个分区 每个分区在Redis中也被称为 hash slot xff0c Redis集群中总共规划了16384个分
  • 安装 Google play service

    Be Careful Follow these steps and save your time Right Click on your Project Explorer Select New gt Project gt Android A
  • [计算机网络] - HTTP、HTTPS

    本文转载自 xff1a https blog csdn net qq 34827674 article details 104732605 1 HTTP 基本概念 HTTP 是超文本传输协议 xff0c 也就是HyperText Trans
  • ffmpeg命令行使用

    查看视频信息 ffmpeg i 视频名字 视频名字这里输入前几个字符按 tab 键可以自动补全 返回结果 xff1a 红框之内的内容没什么用 编码器 xff1a encoder Lavf57 25 100 持续时间 xff1a Durati