问题

执行以下ffmpeg推流命令时报错

ffmpeg -re -i "/home/lee000/Videos/00001.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.100.158:1935/rtmplive/test1
[root@localhost Videos]# ffmpeg -re -i "/home/lee000/Videos/00001.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.100.158:1935/rtmplive/test1
ffmpeg version N-95767-gcda3e8c Copyright (c) 2000-2019 the FFmpeg developersbuilt with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)configuration: --prefix=/usr/softinstall/ffmpeglibavutil      56. 36.100 / 56. 36.100libavcodec     58. 62.100 / 58. 62.100libavformat    58. 35.100 / 58. 35.100libavdevice    58.  9.100 / 58.  9.100libavfilter     7. 66.100 /  7. 66.100libswscale      5.  6.100 /  5.  6.100libswresample   3.  6.100 /  3.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/lee000/Videos/00001.mp4':Metadata:major_brand     : mp42minor_version   : 0compatible_brands: mp42isomcreation_time   : 2019-10-16T06:58:33.000000ZDuration: 00:11:12.83, start: 0.000000, bitrate: 1251 kb/sStream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 791 kb/s, 29.82 fps, 29.92 tbr, 90k tbn, 180k tbc (default)Stream #0:1(und): Audio: pcm_mulaw (ulaw / 0x77616C75), 8000 Hz, mono, s16, 64 kb/s (default)
Unknown encoder 'libx264'

解决方案

这是在安装ffmpeg时没有安装libx264库导致

安装libx264

1)下载libx264(官网)

git clone https://code.videolan.org/videolan/x264.git

2)切到x264根目录

cd x264

3)生成 Makefile

./configure --prefix=/usr/softinstall/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared

  如果不将include和lib安装在/usr/local目录,之后运行ffmpeg推流命令时可能仍然报ERROR:libx264 not found错误。如果已经安装x264了发现报错,则需要将x264.h这个文件要放在/usr/local/include下,libx264的库文件拷贝到/usr/local/lib下,而不是指定其它目录安装存放。推荐安装时直接运行以上命令。

可能报如下错误:
[root@localhost x264]# ./configure --prefix=/usr/softinstall/x264/ --enable-static --enable-shared
Unknown option --enable-share, ignored Found no assembler Minimum > version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
解决方案:
下载更新安装nasm新版本(nasm官网):
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz

4)编译

make

5)安装

sudo make install

重新编译安装ffmpeg(已安装先卸载)

1)生成 Makefile时,加上x264

./configure --prefix=/usr/softinstall/ffmpeg --enable-gpl --enable-shared --enable-libx264

2)清理

make clean

2)编译

make

3)安装

sudo make install

4)配置环境变量(参考:安装linux下tar.gz包)

vim /etc/profile
export FFMPEG_PATH=/usr/softinstall/ffmpeg
export CLASSPATH=$FFMPEG_PATH/lib:$CLASSPATH
PATH=$FFMPEG_PATH/bin:$PATH
source /etc/profile

5)测试

ffmpeg -version

问题一:

重新执行以下ffmpeg推流命令时报错:

[root@localhost ffmpeg]# ffmpeg -re -i "/home/lee000/Videos/00001.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://server:1935/rtmplive/test1
ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory

解决方案:

修改ld.so.conf文件

sudo vim /etc/ld.so.conf

配置文件追加ffmpeg安装目录下的lib文件夹(以下是我本机的):

/usr/softinstall/ffmpeg/lib

使修改生效:

sudo ldconfig

问题二:

重新执行以下ffmpeg推流命令时报错:

[root@localhost lib]# ffmpeg -re -i "/home/lee000/Videos/00001.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://server:1935/rtmplive/test1
ffmpeg: error while loading shared libraries: libx264.so.158: cannot open shared object file: No such file or directory

解决方案(同问题一):

修改ld.so.conf文件

sudo vim /etc/ld.so.conf

配置文件追加x264安装目录下的lib文件夹(以下是我本机的):

/usr/local/lib

使修改生效:

sudo ldconfig

问题三:

[root@localhost lib]# ffmpeg -re -i "/home/lee000/Videos/00001.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.100.158:1935/rtmplive/test1
ffmpeg version N-95767-gcda3e8c Copyright (c) 2000-2019 the FFmpeg developersbuilt with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)configuration: --prefix=/usr/softinstall/ffmpeg --enable-gpl --enable-shared --enable-libx264libavutil      56. 36.100 / 56. 36.100libavcodec     58. 62.100 / 58. 62.100libavformat    58. 35.100 / 58. 35.100libavdevice    58.  9.100 / 58.  9.100libavfilter     7. 66.100 /  7. 66.100libswscale      5.  6.100 /  5.  6.100libswresample   3.  6.100 /  3.  6.100libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/lee000/Videos/00001.mp4':Metadata:major_brand     : mp42minor_version   : 0compatible_brands: mp42isomcreation_time   : 2019-10-16T06:58:33.000000ZDuration: 00:11:12.83, start: 0.000000, bitrate: 1251 kb/sStream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 791 kb/s, 29.82 fps, 29.92 tbr, 90k tbn, 180k tbc (default)Stream #0:1(und): Audio: pcm_mulaw (ulaw / 0x77616C75), 8000 Hz, mono, s16, 64 kb/s (default)
[tcp @ 0x1377ec0] Connection to tcp://192.168.100.158:1935 failed: Connection refused
[rtmp @ 0x1409b40] Cannot open connection tcp://192.168.100.158:1935
rtmp://192.168.100.158:1935/rtmplive/test1: Connection refused

解决方案:

配置nginx时,只修改了nginx.conf,但未修改nginx.conf.default默认配置文件,把nginx.conf.default修改和nginx.conf内容一致即可

ffmpeg推流时报错 Unknown encoder 'libx264'相关推荐

  1. Ubuntu使用gym保存视频报错“Unknown encoder ‘libx264‘”

    在使用gym环境训练智能体并保存视频到本地的实验中,使用Monitor保存视频的时候遇到了报错: Unknown encoder 'libx264' 因为考虑到保存gym保存视频是使用的ffmpeg, ...

  2. 解决Ubuntu16.04视频编码出现Unknown encoder 'libx264'问题

    解决Ubuntu16.04视频编码出现Unknown encoder 'libx264'问题 一.问题原因分析 二.下载xlib264库 三.重新编译安装ffmpeg 四.修改配置文件 这个破问题真的 ...

  3. Unknown encoder ‘libx264‘的解决方法

    1.问题描述: 运行程序的时候出现了这个错误,Unknown encoder 'libx264',和ffmpeg库有关. MoviePy error: FFMPEG encountered the f ...

  4. 解决MySQL Workbench导出低版本MySQL时报错Unknown table ‘column_statistics’ in information_schema的问题

    解决MySQL Workbench导出低版本MySQL时报错Unknown table 'column_statistics' in information_schema的问题 参考文章: (1)解决 ...

  5. ffmpeg Unknown encoder ‘libx264‘

    原因:恰好下载的是lgpl,ffmpeg缺少依赖项,自身不带libx264编码类型 安装好了ffmpeg后,如果使用ffmpeg命令去把某个视频文件转成h264视频编码.mp3音频编码或者其他ffmp ...

  6. 【错误记录】FFmpeg 推流报错 ( FLV does not support sample rate 8000, choose from (44100, 22050, 11025) )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android 平台中 , 先使用 MediaRecorder 将从 麦克风 采集到的 音频压缩到文件中 , 使用 交叉编译的 FFmpeg 可 ...

  7. 用vim-plug装fzf插件时报错Unknown function fzf#install

    用vim-plug装插件时报错Post-update hook for fzf ... Unknown function fzf#install 虽然再次安装(:PlugInstall)会显示安装成功 ...

  8. ffmpeg推流报错Failed to update header with correct duration.

    [flv @ 0x21d6a00] Failed to update header with correct duration. [flv @ 0x21d6a00] Failed to update ...

  9. xcodebuild构建时报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1

    CI今日构建时报出如下错误: /Users/xxx/Library/Developer/Xcode/DerivedData/Snowball-ebllohyukujrncbaldsfojfjxwep/ ...

最新文章

  1. linux下配java环境的小结
  2. 已解决:虚拟机无法获取所有权
  3. G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——Circle
  4. 基于树的模型的机器学习
  5. 微软:PHP在IIS 7上雄起
  6. Android之内存机制分析-Android堆和栈
  7. 【地狱副本】数据结构之线段树Ⅲ——区间最值/赋值/修改/历史值操作(HDU5306,Tyvj 1518,【清华集训2015】V,HDU6315,HDU1828,POJ3162)
  8. java影碟租赁系统_java影碟管理系统
  9. 数据文件shrink_SQL Server中的Shrink TempDB数据库概述
  10. 记2个月来,我在Csdn 掀起的微软面试风暴
  11. LOG. Supervisor基本使用
  12. 网络编程释疑之:TCP半开连接的处理(好)
  13. 一文读懂!最新Transformer预训练模型综述!
  14. 嵌入式硬件从接杜邦线起-杜邦头接线实操①
  15. 奇迹虚拟服务器登录软件,奇迹mu 远程云服务器挂机
  16. 项目集锦 | 易基因DNA羟甲基化5hmC测序研究成果
  17. (详解)opencv里的cv2.resize改变图片大小Python
  18. Python练手项目:用中国地图验证四色地理
  19. web自动化--python+selenium自动化
  20. MarioNETte: Few-shot Face Reenactment Preserving Identity of Unseen Targets(AAAI20)

热门文章

  1. __repr__ 方法的作用
  2. JJWT 0.11.2使用,工具类
  3. xxl-job使用oracle数据库实现
  4. 逍遥情缘服务器维护没通告,【更新公告】11月9日全区例行维护公告
  5. Oracle 18c单实例BenchmarkSQL跑分测试
  6. wazuh 日志收集原理分析
  7. Go指南练习之《图片》(Images)
  8. 解决办法:Azure V*P*N链接错误 找不到可用于此可扩展身份验证协议的证书。 (错误 798)
  9. MySQL数据库5.7版本安装部署及常规命令 增删改查 索引 事务 优化
  10. android手机中指纹识别应用相关功能的讲解