“FFmpeg”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第1行: 第1行:
<markdown>
+
转封装
Redis简单主从
 
  
master配置文件 redis.windows.master.conf:
+
<code>ffmpeg -i input.mkv -c copy output.mp4</code>
  
port 6379
+
<code>ffmpeg -i input.mp4 -c copy output.flv</code>
  
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
+
<code>ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c:v copy -c:a copy output.mp4</code>
  
```
+
-ss 和 -to 的格式是 时:分:秒
访问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
 
```
 
  
优点: 有了主从,当从节点挂掉的时候,运维让从节点过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程,这就可能会拖延很长时间,从而影响线上业务的持续服务。
+
<code>ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c:v copy -c:a copy output.mp4</code>
  
不足: 如果主节点突发宕机,等运维人员手工进行主从切换,再通知所有的程序把地址统统改一遍重新上线,毫无疑问,这样的人工运维效率太低,事故发生后很长时间才能缓过来。
+
从00:00:10开始,-t 是时长,截取20秒时长
  
所以我们必须要有一个高可用方案来抵抗节点故障,当故障发生时可以自动进行主从切换,程序可以不用重启,仿佛什么事也没发生一样。这就是接下来我们要说的Redis官方提供的方案——Redis Sentinel。
+
 
</markdown>
+
 
 +
1080P转720P,并使用显卡编解码加速
 +
 
 +
<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
 +
 
 +
 
 +
 
 +
RMVB转mp4
 +
 
 +
<code>ffmpeg -hwaccel cuvid -c:v rv40 -i input.rmvb -c:v h264_nvenc -y output.mp4</code>
 +
 
 +
指定视频解码器为 rv40,视频编码器为英伟达GPU mp4编码器
 +
 
 +
 
 +
转到5.1声道
 +
 
 +
<code>ffmpeg -i "input.mp4" -ac 6 -c:v copy -c:a aac "output.mp4"</code>
 +
 
 +
默认手机上浏览器不能播放7.1声道音频流的片源,需要转换成5.1声道才可以播放

2022年7月29日 (五) 02:46的版本

转封装

ffmpeg -i input.mkv -c copy output.mp4

ffmpeg -i input.mp4 -c copy output.flv

在源文件内部编码器与目标输出文件编码器一致的前提下,可以只转换封装格式,这样处理转换速度非常快、非常高效


按开始、结束时间截取媒体文件

ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c:v copy -c:a copy output.mp4

-ss 和 -to 的格式是 时:分:秒


按开始时间和截取时间的长短截取媒体文件

ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c:v copy -c:a copy output.mp4

从00:00:10开始,-t 是时长,截取20秒时长


1080P转720P,并使用显卡编解码加速

ffmpeg -i "input.HD1080P.mp4" -vf scale_cuda=1280:720 -c:v h264_nvenc -c:a copy -y "output.HD720P.mp4"

需要gpl版本的ffmpeg,带显卡加速用的视频滤镜 需要更新显卡驱动,使nvenc API 版本>=11.1


RMVB转mp4

ffmpeg -hwaccel cuvid -c:v rv40 -i input.rmvb -c:v h264_nvenc -y output.mp4

指定视频解码器为 rv40,视频编码器为英伟达GPU mp4编码器


转到5.1声道

ffmpeg -i "input.mp4" -ac 6 -c:v copy -c:a aac "output.mp4"

默认手机上浏览器不能播放7.1声道音频流的片源,需要转换成5.1声道才可以播放