本文是来自Seattle Video Tech的演讲,讲者是来自于Google公司的Joey Parrish。使用ffmpeg来准备视频内容需要写出冗长的难以理解的脚本,本次演讲介绍了Shaka Streamer这一开源工具来简化配置。
Shaka Streamer包装了ffmpeg和Shaka Packager,使用简单的配置文件来代替复杂的命令行,以此简化直播、点播、DASH和HLS的内容准备工作。工具通过pip发布:pip3 install shaka-streamer
,支持Linux和Mac平台。工具不做分辨率上变换。
单纯使用ffmpeg来准备1080p的视频内容,可能需要232词的难以理解的命令,使用Shaka Packager只需86词,使用Shaka Streamer则可以利用配置文件,方便维护:
shaka-streamer -i input.yaml -p pipeline.yaml -c gs://bucket/folder
输入配置示例:
inputs:
- name: llama_original.mp4
- media_type: viedo
- name: llama_original.mp4
- media_type: audio
流水线配置示例:
streaming_mode: vod
resolutions:
- 360p
- 480p
- 720p
- 1080p
- 4k
audio_codecs:
- aac
- opus
video_codecs:
- h264
- vp9
encryption:
- enable: true
使用-c
选项,可以将流推到指定的云端存储URL上,现支持Google Cloud Storage和Amazon S3。
其他可用的配置选项包括:硬件解码,直播流配置,加密方式、ffmpeg滤镜、云端输出等。暂时缺失的功能包括:Windows支持,网络输入,AV1和AC-3等编码器,多GPU编码等。
附上演讲视频: