ffmpeg实现rtmp推流的错误

在尝试使用ffmpeg推送本地视频流时遇到mpeg4不被支持的问题,通过更改命令为使用h264编码后,又出现配置编码器错误。为解决这个问题,下载并安装了x264,更新环境变量,重新编译ffmpeg,启用GPL并添加相关库。经过这些步骤,最终成功运行ffmpeg命令,视频流推送成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天利用./ffmpeg -re -i input.mp4 -vcodec copy -f flv -y rtmp://192.168.1.103:1935/live/desktop
推送本地视频流时,出现以下报错:
Codec mpeg4 is not supported in the official FLV specification,
can’t configure encoder Error initializing output stream 0:0 – Error while…

我便更改命令为:./ffmpeg -re -i input.mp4 -c:v h264 -f flv rtmp://192.168.1.103:1935/live/desktop
但是又出现了新的错误:
can’t configure encoder Error initializing output stream 0:0 – Error while
经查阅资料,发现应该按如下方式解决:
1下载x264

git clone http://git.videolan.org/git/x264.git

2安装x264

cd x264

sudo ./configure --enable-shared --disable-asm

sudo make 

3添加环境变量

#在终端输入
vim /etc/profile
#然后添加环境变量
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#按esc加:wq退出
#终端输入
source /etc/profile
#再测试一波
echo $PKG_CONFIG_PATH

4重新编译ffmpeg

/configure --enable-opengl --enable-libx264 --extra-libs='-lGL -lGLU -lGLEW -lglfw -lpng -lm -lz'

又出现错误:
libx264 is gpl and --enable-gpl is not specified.

修改方法:按以下命令编译

/configure --enable-opengl --enable-libx264 --enable-gpl  --extra-libs='-lGL -lGLU -lGLEW -lglfw -lpng -lm -lz'

之后

sudo make ffmpeg

编译成功
在这里插入图片描述
然后再输入命令:

./ffmpeg -re -i input.mp4 -c:v h264 -f flv rtmp://192.168.1.103:1935/live/desktop
运行成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值