常见命令

使用ffmpeg给视频烧录字幕,使用nvidia gpu加速:

ffmpeg -i input_video.mp4 -vf subtitles=subtitles.srt -c:v h264_nvenc -preset fast -cq 18 output_video.mp4

参数解析

  1. ffmpeg
    FFmpeg 是一个多功能的开源多媒体处理工具,用于处理音视频转换、编码、编辑等操作。
  2. -i input_video.mp4
    -i 用于指定输入文件。在这里,input_video.mp4 是输入视频文件的路径和文件名。可以替换为任何你想要处理的源文件。
  3. -vf subtitles=subtitles.srt
    -vf 指的是视频滤镜选项,意思是“video filter”(视频滤镜)。这里使用了 subtitles 滤镜来将字幕文件 subtitles.srt 烧录到视频中。
  • subtitles=subtitles.srt
    subtitles 是一个特定的 FFmpeg 滤镜,用于加载和渲染字幕文件。 subtitles.srt 是字幕文件的路径和文件名,需要确保文件编码格式是UTF-8,且路径和文件名正确。此滤镜会将字幕硬编码到视频中,生成一个带硬字幕的视频文件。
  1. -c:v h264_nvenc
    -c:v 是用于指定视频编码器的参数。在这里,h264_nvenc 选择 NVIDIA 的硬件加速 H.264 编码器,能够利用 NVIDIA GPU 提高编码速度。与 CPU 编码器相比,硬件加速编码器 h264_nvenc 能显著提升处理速度,但在低码率条件下可能会稍微牺牲画质。
  2. -preset fast
    -preset 是一个编码速度的控制参数,影响编码效率和生成文件大小之间的平衡。对于 h264_nvenc 编码器,preset 的范围通常包括从 p1(最快)到 p7(最慢):
  • fast:此预设专注于速度和质量的平衡,在生成高质量视频的同时,编码时间也较短。
  • 其他可能的选项:如 p1(极快,质量低一些)、p2medium(默认)、slow 等。数值越低,编码速度越快,但生成文件可能更大,或在画质上稍有损失。
  1. -cq 18
    -cq 表示“Constant Quality”(恒定质量),这是 h264_nvenc 专用的一个参数,用于设定恒定质量级别,数值范围为0到51。值越低,视频质量越高,同时文件大小也会增大。
  • 18:这个值通常被认为是高质量的视频输出,接近无损。通常建议范围在 18-24,对于大多数人来说能很好地平衡质量和文件大小。
  • 推荐范围:如果你想要更小的文件,-cq 23 可能也是一个不错的选择,而如果想接近无损质量可以选择 -cq 15 或更低,但这会显著增大文件体积。
  1. output_video.mp4
    最后一个参数是输出文件的路径和文件名。在这里,output_video.mp4 是生成的视频文件的名称,可以根据需要更改文件名和格式(如 .mkv.avi)。

从视频中提取音频是个相对简单的任务,不需要重新编码视频,所以GPU加速在这里帮助不大。不过让我给您几个实用的命令:

  1. 最基础的提取音频命令:
# 提取为mp3格式
ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3

# 提取为aac格式(保持原始质量)
ffmpeg -i input.mp4 -vn -acodec copy output.aac

# 提取为wav格式(无损)
ffmpeg -i input.mp4 -vn -acodec pcm_s16le output.wav
  1. 常用参数说明:
  • -vn: 禁用视频流
  • -acodec copy: 直接复制音频流,不重新编码(最快)
  • -acodec mp3: 转换为mp3格式
  • -ab 320k: 指定比特率(如果需要重新编码)
  1. 高级用法:
# 提取特定时间段的音频
ffmpeg -i input.mp4 -ss 00:05:00 -t 00:10:00 -vn -acodec copy output.aac

# 调整音频质量
ffmpeg -i input.mp4 -vn -acodec mp3 -ab 320k output.mp3

建议:

  1. 如果原视频的音频是AAC格式,建议用-acodec copy直接提取,这样最快且无损
  2. 如果需要MP3格式,才使用转码
  3. 使用ffprobe可以先查看视频的音频格式:
ffprobe -i input.mp4
  1. 查看进度:
# 显示详细进度
ffmpeg -i input.mp4 -vn -acodec copy -progress pipe:1 output.aac

对于一小时长的视频,使用-acodec copy的方式提取通常只需要几秒到几十秒就能完成。

在新的windows电脑上安装git步骤:

在安装了Git后,您可以通过以下步骤将本地Git与您的GitHub账户关联:

1. 配置Git用户信息

首先,您需要设置您的Git用户信息,这些信息会与您的提交相关联。

打开命令提示符或者Git Bash(如果您安装了Git)并输入以下命令:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

请将Your Name[email protected]替换为您在GitHub上注册的用户名和电子邮件地址。

2. 创建SSH密钥(可选)

如果您希望通过SSH连接到GitHub(这个方式更安全且不需要每次输入用户名和密码),您需要生成SSH密钥:

  1. 生成SSH密钥 : 在命令提示符或Git Bash中运行以下命令:
ssh-keygen -t rsa -b 4096 -C "[email protected]"

在提示时,您可以直接按Enter以接受默认保存位置(通常是 ~/.ssh/id_rsa),也可以为密钥设置一个密码(可选)。

  1. 使用 PowerShell 复制 SSH 公钥
    您可以使用下面的命令将 SSH 公钥复制到剪贴板:
Get-Content ~/.ssh/id_rsa.pub | Set-Clipboard

这条命令会读取 id_rsa.pub 文件的内容,并将其复制到剪贴板。

  1. 登录到您的 GitHub 帐户
    打开您的浏览器,访问 GitHub 并登录到您的账户。
    点击右上角的头像,选择“Settings”。
    在左侧菜单中,选择“SSH and GPG keys”。
    点击“New SSH key”按钮。
    在“Title”字段中输入一个描述(例如“我的笔记本电脑”),然后在“Key”字段中粘贴刚才复制的公钥。
    点击“Add SSH key”按钮保存。

  2. 测试 SSH 连接
    完成上述步骤后,您可以测试与 GitHub 的 SSH 连接,使用以下命令:

ssh -T [email protected]

如果连接成功,您将看到类似于以下的欢迎消息:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

转录wav到mp3:

ffmpeg -i input.wav -codec:a libmp3lame -b:a 32k output.mp3