# 常见命令

**URL:** https://eijil.com/t/topic/517
**Category:** 其它
**Created:** [November 3, 2024, 5:50am UTC](https://eijil.com/t/topic/517 "2024-11-03T05:50:51Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Tristan](https://eijil.com/user_avatar/eijil.com/tristan/32/986_2.png) [@Tristan](https://eijil.com/u/Tristan)
#### Post date: [November 3, 2024, 5:50am UTC](https://eijil.com/t/topic/517/1 "2024-11-03T05:50:51Z")

</div>

使用ffmpeg给视频烧录字幕，使用nvidia gpu加速：

```auto
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`（极快，质量低一些）、`p2`、`medium`（默认）、`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`）。

---

<div class="post-metadata">

### Author: ![Tristan](https://eijil.com/user_avatar/eijil.com/tristan/32/986_2.png) [@Tristan](https://eijil.com/u/Tristan)
#### Post date: [November 5, 2024, 3:00am UTC](https://eijil.com/t/topic/517/2 "2024-11-05T03:00:46Z")

</div>

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

1. 最基础的提取音频命令：

```bash
# 提取为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. 高级用法：

```bash
# 提取特定时间段的音频
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`可以先查看视频的音频格式：

```bash
ffprobe -i input.mp4

```

1. 查看进度：

```bash
# 显示详细进度
ffmpeg -i input.mp4 -vn -acodec copy -progress pipe:1 output.aac

```

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

---

<div class="post-metadata">

### Author: ![Tristan](https://eijil.com/user_avatar/eijil.com/tristan/32/986_2.png) [@Tristan](https://eijil.com/u/Tristan)
#### Post date: [November 11, 2024, 7:26am UTC](https://eijil.com/t/topic/517/3 "2024-11-11T07:26:26Z")

</div>

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

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

### 1. 配置Git用户信息

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

打开命令提示符或者Git Bash（如果您安装了Git）并输入以下命令：

```bash
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

```

请将`Your Name`和`your_email@example.com`替换为您在GitHub上注册的用户名和电子邮件地址。

### 2. 创建SSH密钥（可选）

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

1. **生成SSH密钥** : 在命令提示符或Git Bash中运行以下命令：

```bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

```

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

1. **使用 PowerShell 复制 SSH 公钥**  
您可以使用下面的命令将 SSH 公钥复制到剪贴板：

```shell
Get-Content ~/.ssh/id_rsa.pub | Set-Clipboard

```

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

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

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

```bash
ssh -T git@github.com

```

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

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

```

---

<div class="post-metadata">

### Author: ![Tristan](https://eijil.com/user_avatar/eijil.com/tristan/32/986_2.png) [@Tristan](https://eijil.com/u/Tristan)
#### Post date: [November 20, 2024, 8:56am UTC](https://eijil.com/t/topic/517/6 "2024-11-20T08:56:34Z")

</div>

转录wav到mp3:

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

```
