“FFmpeg”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第1行: 第1行:
 
可以用 uTools 装个“FFmpeg 助手”或者直接访问  https://alfg.dev/ffmpeg-commander/<nowiki/>(项目地址:https://github.com/alfg/ffmpeg-commander<nowiki/>) 辅助生成命令
 
可以用 uTools 装个“FFmpeg 助手”或者直接访问  https://alfg.dev/ffmpeg-commander/<nowiki/>(项目地址:https://github.com/alfg/ffmpeg-commander<nowiki/>) 辅助生成命令
  
 
+
=== 转封装 ===
转封装
 
 
 
 
<code>ffmpeg -i input.mkv -c copy output.mp4</code>
 
<code>ffmpeg -i input.mkv -c copy output.mp4</code>
  
第11行: 第9行:
  
  
 
+
=== 按开始、结束时间截取媒体文件 ===
按开始、结束时间截取媒体文件
 
 
 
 
<code>ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c:v copy -c:a copy output.mp4</code>
 
<code>ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c:v copy -c:a copy output.mp4</code>
  
第19行: 第15行:
  
  
 
+
=== 按开始时间和截取时间的长短截取媒体文件 ===
按开始时间和截取时间的长短截取媒体文件<syntaxhighlight lang="powershell">
+
<syntaxhighlight lang="powershell">
 
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c:v copy -c:a copy output.mp4
 
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c:v copy -c:a copy output.mp4
 
</syntaxhighlight>从00:00:10开始,-t 是时长,截取20秒时长
 
</syntaxhighlight>从00:00:10开始,-t 是时长,截取20秒时长
  
  
 
+
=== 1080P转720P,并使用显卡编解码加速 ===
1080P转720P,并使用显卡编解码加速<syntaxhighlight lang="powershell">
+
<syntaxhighlight lang="powershell">
 
ffmpeg -i "input.HD1080P.mp4" -vf scale_cuda=1280:720 -c:v h264_nvenc -c:a copy -y "output.HD720P.mp4"
 
ffmpeg -i "input.HD1080P.mp4" -vf scale_cuda=1280:720 -c:v h264_nvenc -c:a copy -y "output.HD720P.mp4"
 
</syntaxhighlight>需要gpl版本的ffmpeg,带显卡加速用的视频滤镜 需要更新显卡驱动,使nvenc API 版本>=11.1
 
</syntaxhighlight>需要gpl版本的ffmpeg,带显卡加速用的视频滤镜 需要更新显卡驱动,使nvenc API 版本>=11.1
第33行: 第29行:
  
  
使用视频过滤器让视频向右旋转90度<syntaxhighlight lang="powershell">
+
 
 +
=== 使用视频过滤器让视频向右旋转90度 ===
 +
<syntaxhighlight lang="powershell">
 
ffmpeg -i input -vf "transpose=1" -c:v libx264 -c:a copy cpu_h264.mp4
 
ffmpeg -i input -vf "transpose=1" -c:v libx264 -c:a copy cpu_h264.mp4
 
</syntaxhighlight>
 
</syntaxhighlight>
  
  
 
+
=== RMVB转mp4 ===
RMVB转mp4<syntaxhighlight lang="powershell">
+
<syntaxhighlight lang="powershell">
 
ffmpeg -hwaccel cuvid -c:v rv40 -i input.rmvb -c:v h264_nvenc -y output.mp4
 
ffmpeg -hwaccel cuvid -c:v rv40 -i input.rmvb -c:v h264_nvenc -y output.mp4
 
</syntaxhighlight>指定视频解码器为 rv40,视频编码器为英伟达GPU mp4编码器
 
</syntaxhighlight>指定视频解码器为 rv40,视频编码器为英伟达GPU mp4编码器
  
  
转到5.1声道<syntaxhighlight lang="powershell">
+
=== 转到5.1声道 ===
 +
<syntaxhighlight lang="powershell">
 
ffmpeg -i "input.mp4" -ac 6 -c:v copy -c:a aac "output.mp4"
 
ffmpeg -i "input.mp4" -ac 6 -c:v copy -c:a aac "output.mp4"
 
</syntaxhighlight>默认手机上浏览器不能播放7.1声道音频流的片源,需要转换成5.1声道才可以播放
 
</syntaxhighlight>默认手机上浏览器不能播放7.1声道音频流的片源,需要转换成5.1声道才可以播放
  
  
音量增大10分贝<syntaxhighlight lang="powershell">
+
=== 音量增大10分贝 ===
 +
<syntaxhighlight lang="powershell">
 
ffmpeg -i index_20220926020020.mp4 -af volume=10dB -y index_20220926020020_volume_plus10db.mp4
 
ffmpeg -i index_20220926020020.mp4 -af volume=10dB -y index_20220926020020_volume_plus10db.mp4
</syntaxhighlight>音量较小10分贝<syntaxhighlight lang="powershell">
+
</syntaxhighlight>
 +
 
 +
 
 +
 
 +
 
 +
=== 音量较小10分贝 ===
 +
<syntaxhighlight lang="powershell">
 
ffmpeg -i index_20220926020020.mp4 -af volume=-10dB -y index_20220926020020_volume_plus10db.mp4
 
ffmpeg -i index_20220926020020.mp4 -af volume=-10dB -y index_20220926020020_volume_plus10db.mp4
 
</syntaxhighlight>
 
</syntaxhighlight>
  
  
nvidia显卡加速h265转h264<syntaxhighlight lang="powershell">
+
=== nvidia显卡加速h265转h264 ===
 +
<syntaxhighlight lang="powershell">
 
ffmpeg.exe -hwaccel cuvid -c:v hevc_cuvid -i "h265.mp4" -c:v h264_nvenc -c:a copy -y "h264.mp4"
 
ffmpeg.exe -hwaccel cuvid -c:v hevc_cuvid -i "h265.mp4" -c:v h264_nvenc -c:a copy -y "h264.mp4"
 
</syntaxhighlight>
 
</syntaxhighlight>

2023年1月29日 (日) 06:06的版本

可以用 uTools 装个“FFmpeg 助手”或者直接访问 https://alfg.dev/ffmpeg-commander/(项目地址:https://github.com/alfg/ffmpeg-commander) 辅助生成命令

转封装

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



使用视频过滤器让视频向右旋转90度

ffmpeg -i input -vf "transpose=1" -c:v libx264 -c:a copy cpu_h264.mp4


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声道才可以播放


音量增大10分贝

ffmpeg -i index_20220926020020.mp4 -af volume=10dB -y index_20220926020020_volume_plus10db.mp4



音量较小10分贝

ffmpeg -i index_20220926020020.mp4 -af volume=-10dB -y index_20220926020020_volume_plus10db.mp4


nvidia显卡加速h265转h264

ffmpeg.exe -hwaccel cuvid -c:v hevc_cuvid -i "h265.mp4" -c:v h264_nvenc -c:a copy -y "h264.mp4"