ffmpeg推流 h264代码
时间: 2024-09-10 12:00:54 浏览: 46
ffmpeg的h264推流rtmp
3星 · 编辑精心推荐
FFmpeg是一个开源项目,它提供了非常强大的音视频处理能力,包括编码、解码、转码、混流、推流等功能。在进行FFmpeg推流H264视频的编码时,通常需要使用FFmpeg命令行工具来配置相应的参数。
下面是一个基本的FFmpeg命令行示例,用于将视频文件推流到支持H264的RTMP服务器:
```
ffmpeg -re -i input.mp4 -acodec aac -ar 44100 -ac 2 -b:a 160k -f flv rtmp://server/live/stream
```
该命令的参数解释如下:
- `-re`:以原始速率读取输入文件,适用于直播推流。
- `-i input.mp4`:指定输入文件。
- `-vcodec libx264`:指定视频编码器为libx264,即H.264编码器。
- `-preset fast`:指定编码预设,这会影响编码速度和质量的平衡,`fast`预设适合实时编码。
- `-maxrate 3000k`:设置视频的最大比特率。
- `-bufsize 6000k`:设置缓存大小,以平衡码率波动。
- `-pix_fmt yuv420p`:设置像素格式为YUV 4:2:0。
- `-g 50`:设置关键帧间隔,这里是每秒20帧(50/2)。
- `-acodec aac`:指定音频编码器为AAC。
- `-ar 44100`:设置音频采样率为44100Hz。
- `-ac 2`:设置音频通道数为2(立体声)。
- `-b:a 160k`:设置音频比特率为160k。
- `-f flv`:指定输出格式为FLV。
- `rtmp://server/live/stream`:指定目标RTMP服务器地址和流名称。
需要注意的是,上述参数需要根据实际情况调整,例如服务器地址、流名称、码率等。另外,在使用FFmpeg之前需要确保安装了FFmpeg,并且服务器支持接收RTMP流。
阅读全文