ubuntu 上利用ffmpeg 多线程推流
时间: 2023-10-01 22:09:28 浏览: 130
在 Ubuntu 上使用 ffmpeg 进行多线程推流,可以使用以下命令:
```
ffmpeg -i input.mp4 -c:v copy -c:a copy -f flv -map 0 -flags +global_header -bsf:v dump_extra -threads 2 -bufsize 512k -rtbufsize 512k -maxrate 3000k -g 1 -r 25 -s 1280x720 -preset ultrafast -tune zerolatency -b:v 2000k -ac 2 -ar 44100 -b:a 128k -f flv rtmp://yourstreamurl
```
这个命令的具体参数说明如下:
- `-i input.mp4`:指定输入文件为 input.mp4。
- `-c:v copy -c:a copy`:表示视频和音频都采用复制的方式,不进行编码。
- `-f flv`:指定输出格式为 flv。
- `-map 0`:表示使用输入文件的所有流。
- `-flags +global_header -bsf:v dump_extra`:设置全局头和剥离多余信息。
- `-threads 2`:设置使用 2 个线程。
- `-bufsize 512k -rtbufsize 512k -maxrate 3000k`:设置缓存大小、实时缓存大小和最大比特率。
- `-g 1 -r 25 -s 1280x720`:设置 GOP 大小、帧率和分辨率。
- `-preset ultrafast -tune zerolatency -b:v 2000k`:设置编码速度、零延迟和视频比特率。
- `-ac 2 -ar 44100 -b:a 128k`:设置音频通道数、采样率和比特率。
- `-f flv rtmp://yourstreamurl`:指定输出 URL。
根据自己的实际情况调整参数即可。
阅读全文