简易视频课程制作说明
2019-08-01
目的
介绍如何制作视频,并转码,用于发布到牛快计服务器。
概念:文件类型(File Type)
对文件名后缀的解释,仅作用于文件名,不决定内容格式。
file.png 一般解释为内容符合 PNG 的图像类型。
file.mp3 一般解释为内容符合 MPEG Layer 3 的音频类型。
file.mp4 一般解释为内容符合 MPEG-4 的视频类型。
牛快计视频课程使用 HLS(HTTP Live Streaming)类型。
概念:编码类型(Media Encoding)
大部分视频/音频文件类型为容器,例如:MP4 容器内可以包含多个视频流、多个音频流、多个封面图像、多个字幕和章节信息等。
视频流有多种类型,当前主流类型是 AVC(AVC 又名 H.263)和 H.264,新版浏览器可支持 HEVC(H.265)。
音频流有多种类型,当前主流类型是 AAC,新版浏览器可支持 AC3。
牛快计视频课程的 MP4 文件内,包含 1 个 AVC 视频流和 1 个 AAC 音频流。
牛快计视频课程的 MP4 文件用于存档,从 MP4 转换的 HLS 文件夹用于服务器提供在线播放。
概念:剪辑(Edit)
处理(视频、音频、图像、文本)素材之前关系的动作,将素材以各种方式关联到一个剪辑项目中,最终展现为视频和音频。
本文档将使用 Vegas Pro 软件实现剪辑。
概念:转码(Decode / Encode)
对文件类型进行转换,可能会改变编码类型。
本文档将使用 FFmpeg 软件实现转码。
概念:比特率(Bit Rate)、位率、码率
一个(视频/音频/字幕)流每秒占用的比特数量,单位为 bps(Bits Per Second),8 个比特组成 1 个字节。
例:192 Kbps 的音频流每秒占用 192000 / 8 = 24000 B ≈ 23 KB。
例:2000 Kbps 的视频流每秒占用 2000000 / 8 = 250000 B ≈ 244 KB。
概念:高清(High Definition)
高清标准最低分辨率为 1280 x 720。
HD = 1280 x 720
FHD = 1920 x 1080
UHD = 3840 x 2160
注意事项
视频应针对 FHD 分辨率或 UHD 分辨率进行制作,宽高比例为 16 : 9,以适配最多的播放端。
用于课程的视频,分辨率不应低于 HD。
用于课程的视频地址必须以 https:// 开始,建议使用 https://zhou.360tax.net/ 站点。
步骤 1 - 准备
视频剪辑软件:Vegas Pro (或 Premiere Pro + Media Encoder)。
视频编码软件:ffmpeg.exe。(点击下载
片头素材:Logo、品牌宣传文案等。
素材以文件的方式保存。常用视频类型有:MP4、AVI 和 MOV;常用音频类型有:WAV 和 MP3;常用图像类型有:PNG 和 JPG。
以课程名称建立文件夹名,将素材文件置于文件夹内。
步骤 2 - 创建剪辑项目(Vegas Pro)
打开 Vegas Pro 软件,在“文件”菜单中可新建或打开项目,选择新建时将会出现项目的配置对话框,按以下值进行设置。
视频 - 宽度1920可修改:1280、1920 或 3840。
视频 - 高度1080可修改:720、1080 或 2160。
视频 - 帧速率29.97可修改:23.976(适合拍摄的视频)、29.97(适合屏幕录制)。
视频 - 场顺序无(逐行扫描)
视频 - 像素宽高比1.0000(方形)
视频 - 输出旋转0°(原始)
视频 - 像素格式8 位
音频 - 主控总线模式立体声可修改。
音频 - 采样率48000可修改:44100 或 48000 均可。
音频 - 位深度16
如果在新建后需要调整项目属性,可在“文件”菜单中的“属性”项中再次编辑。
步骤 3 - 向剪辑项目加入素材
在 Vegas Pro 的“资源管理器”中找到文件,用鼠标拖动文件到轨道区域中。
如果拖放到没有轨道的区域,软件会自动创建轨道。
视频轨道有层级之分,上层内容会遮盖下层的内容。
音频轨道没有层级之分,所有轨道同时播放。
轨道横向为时间,00:00:00;00 = 时:分:秒;帧 ,
步骤 3 - 加入标题或字幕
在 Vegas Pro 的“媒体生成器”中找到“(自带)文字”,用鼠标拖动其中一种预设到轨道区域中。
拖动结束,松开鼠标后会弹出编辑文本的对话框。
步骤 4 - 生成适用于存档的 MP4 视频文件
在 Vegas Pro 的“文件”菜单中选择“渲染为”,打开“Render As”对话框。
选择 MAGIX AVC/AAC MP4 组下的 Internet HD 1080p 29.97 fps。
渲染到文件 d:\untitled.mp4,可能会消耗较长时间。
注意:必须取消选中“Render loop region only”(在选中状态下需要指定渲染的时间范围)。
步骤 5(可选步骤)- 生成适用于在线播放的的 MP4 视频文件
复制 ffmpeg.exe 文件到 D: 盘下,复制后文件路径为 d:\ffmpeg.exe。
打开“命令提示符”,执行以下 2 条命令并等待结束(可能会消耗较长时间):
cd /d d:\
ffmpeg.exe -i untitled.mp4 -c:v libx264 -vf scale=1280:720 -crf 28 -c:a copy -b:a 128k web.mp4
可修改的命令参数:
(命令末尾)web.mp4输出的 MP4 文件路径。
-iuntitled.mp4输入的 MP4 文件路径。
在步骤 6 中使用 web.mp4 作为输入文件,将有可能提高 HLS 在线播放的流畅度。
步骤 6 - 生成适用于服务器在线播放的 HLS 流媒体文件组
在 D: 盘下创建文件夹 HLS,创建后文件夹路径为 d:\hls。
复制 ffmpeg.exe 文件到 D: 盘下,复制后文件路径为 d:\ffmpeg.exe。
打开“命令提示符”,执行以下 2 条命令并等待结束(可能会消耗较长时间):
cd /d d:\
ffmpeg.exe -i untitled.mp4 -c copy -hls_list_size 0 -hls_time 10 hls\hls.m3u8
可修改的命令参数:
(命令末尾)hls\hls.m3u8输出的文件路径,TS 流片段保存在 M3U8 相同目录中。
-iuntitled.mp4输入的 MP4 文件路径。
-hls_time10每 10 秒拆分为 1 个片段文件,可根据服务器网络环境调整。
步骤 6 - 实现视频课程播放
将生成的 HLS 文件组(D:\HLS 文件夹中的所有文件)上传到服务器,例如:
https://zhou.360tax.net/training/lessons/video-demo/hls.m3u8
https://zhou.360tax.net/training/lessons/video-demo/hls0.ts
https://zhou.360tax.net/training/lessons/video-demo/hls1.ts
https://zhou.360tax.net/training/lessons/video-demo/hls2.ts
......
获取其中 hls.m3u8 文件的链接,将其填入视频课程的配置:
https://zhou.360tax.net/training/lessons/video-demo/hls.m3u8