FFmpeg基本功能
FFmpeg是一套开源的、跨平台的多媒体解决方案,可以用于录制、转换和流式传输音频和视频。支持Linux、Windows和macOS操作系统。
作为一个强大的多媒体工具集,FFmpeg提供了广泛的功能和工具,使开发者能够进行各种音视频处理任务,例如:
格式转换:通过FFmpeg,您可以将音频和视频从一个格式转换为另一个格式。它支持众多的音视频编解码器,可以处理几乎所有常见的音视频格式。
视频剪辑和裁剪:您可以使用FFmpeg裁剪视频,提取所需的片段,并且还可以调整视频的大小、分辨率和帧率等参数。
音频处理:FFmpeg可以对音频文件进行各种处理,包括音频合并、分割、混音、音量调节、降噪等。
视频处理:除了转码和剪辑,FFmpeg还支持视频滤镜和特效,如添加水印、旋转、缩放、色彩调整等。
视频流式传输:使用FFmpeg,您可以将音视频实时流式传输到网络上,以便通过网络播放、直播或其他实时应用。
FFmpeg提供了命令行工具,也可以通过C/C++的库进行集成。此外,还有许多基于FFmpeg的第三方工具和框架可用,使得音视频处理变得更加简单和便捷。
ffmpeg将mp4视频文件切割成m3u8关联的ts文件
`ffmpeg -i input.mp4 -c:v libx264 -c:a copy -f hls -hls_time 15 -hls_list_size 0
-hls_start_number 0 output.m3u8`
-hls_time n: 设置每片的长度,默认值为2。单位为秒
-hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5
-hls_start_number n:设置播放列表中sequence number的值为number,默认值为0
-hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0。这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量
-i input.mp4: 这是输入文件,即你想要处理的视频文件。
-c copy: 这意味着不对视频或音频进行重新编码,而是直接复制。这样可以更快地完成操作,但前提是你的输入和输出格式必须是兼容的。
-map 0: 这表示从输入文件中选择所有的流(视频、音频、字幕等)。
-f hls: 这指定了输出格式为HLS