“FFmpeg”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第1行: 第1行:
转封装
+
<nowiki><markdown></nowiki>
  
<code>ffmpeg -i input.mkv -c copy output.mp4</code>
+
Redis简单主从
  
<code>ffmpeg -i input.mp4 -c copy output.flv</code>
+
master配置文件 redis.windows.master.conf:
  
在源文件内部编码器与目标输出文件编码器一致的前提下,可以只转换封装格式,这样处理转换速度非常快、非常高效
+
```
  
 +
port 6379
  
 +
requirepass foobared
  
按开始、结束时间截取媒体文件
+
```
  
<code>ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c:v copy -c:a copy output.mp4</code>
+
slave配置文件 redis.windows.slave.conf:
  
-ss 和 -to 的格式是 时:分:秒
+
```
  
 +
port 6380
  
 +
slaveof 127.0.0.1 6379
  
按开始时间和截取时间的长短截取媒体文件
+
masterauth foobared
  
<code>ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c:v copy -c:a copy output.mp4</code>
+
requirepass foobared
  
从00:00:10开始,-t 是时长,截取20秒时长
+
```
  
 +
启动master:
  
 +
```
  
1080P转720P,并使用显卡编解码加速
+
redis-server.exe redis.windows.master.conf
  
<code>ffmpeg -i "input.HD1080P.mp4" -vf scale_cuda=1280:720 -c:v h264_nvenc -c:a copy -y "output.HD720P.mp4"</code>
+
```
  
需要gpl版本的ffmpeg,带显卡加速用的视频滤镜 需要更新显卡驱动,使nvenc API 版本>=11.1
+
启动slave:
  
 +
```
  
 +
redis-server.exe redis.windows.slave.conf
  
RMVB转mp4
+
```
  
<code>ffmpeg -hwaccel cuvid -c:v rv40 -i input.rmvb -c:v h264_nvenc -y output.mp4</code>
+
redis-cli.exe帮助:
  
指定视频解码器为 rv40,视频编码器为英伟达GPU mp4编码器
+
```
  
 +
redis-cli.exe -h
  
转到5.1声道
+
```
  
<code>ffmpeg -i "input.mp4" -ac 6 -c:v copy -c:a aac "output.mp4"</code>
+
访问master:
  
默认手机上浏览器不能播放7.1声道音频流的片源,需要转换成5.1声道才可以播放
+
```
 +
 
 +
redis-cli.exe -h 127.0.0.1 -p 6379 -a foobared
 +
 
 +
```
 +
 
 +
访问slave:
 +
 
 +
```
 +
 
 +
redis-cli.exe -h 127.0.0.1 -p 6380 -a foobared
 +
 
 +
```
 +
 
 +
优点: 有了主从,当从节点挂掉的时候,运维让从节点过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程,这就可能会拖延很长时间,从而影响线上业务的持续服务。
 +
 
 +
不足: 如果主节点突发宕机,等运维人员手工进行主从切换,再通知所有的程序把地址统统改一遍重新上线,毫无疑问,这样的人工运维效率太低,事故发生后很长时间才能缓过来。
 +
 
 +
所以我们必须要有一个高可用方案来抵抗节点故障,当故障发生时可以自动进行主从切换,程序可以不用重启,仿佛什么事也没发生一样。这就是接下来我们要说的Redis官方提供的方案——Redis Sentinel。
 +
 
 +
<nowiki></markdown></nowiki>

2022年7月27日 (三) 10:00的版本

<markdown>

Redis简单主从

master配置文件 redis.windows.master.conf:

```

port 6379

requirepass foobared

```

slave配置文件 redis.windows.slave.conf:

```

port 6380

slaveof 127.0.0.1 6379

masterauth foobared

requirepass foobared

```

启动master:

```

redis-server.exe redis.windows.master.conf

```

启动slave:

```

redis-server.exe redis.windows.slave.conf

```

redis-cli.exe帮助:

```

redis-cli.exe -h

```

访问master:

```

redis-cli.exe -h 127.0.0.1 -p 6379 -a foobared

```

访问slave:

```

redis-cli.exe -h 127.0.0.1 -p 6380 -a foobared

```

优点: 有了主从,当从节点挂掉的时候,运维让从节点过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程,这就可能会拖延很长时间,从而影响线上业务的持续服务。

不足: 如果主节点突发宕机,等运维人员手工进行主从切换,再通知所有的程序把地址统统改一遍重新上线,毫无疑问,这样的人工运维效率太低,事故发生后很长时间才能缓过来。

所以我们必须要有一个高可用方案来抵抗节点故障,当故障发生时可以自动进行主从切换,程序可以不用重启,仿佛什么事也没发生一样。这就是接下来我们要说的Redis官方提供的方案——Redis Sentinel。

</markdown>