linux ffmpeg Unknown encoder 'h264'

linux执行命令:
ffmpeg -y -i v_test.avi -vcodec h264 -strict -2 v_test.mp4

报错:Unknown encoder ‘h264’

错误原因:当前ffmpeg没有h264视频编码器

解决方案:
1.安装x264

git clone git://git.videolan.org/x264.git
cd x264
#查看帮助信息
./configure --help
#我们需要的是x264以.so or .a的形式来支援ffmpeg,所以一般就关注shared和static关键词就可以了
./configure --enable-shared --enable-static
make
make install

2.重新编译ffmpeg
下载最新版本ffmpeg-4.1.tar.bz2
http://ffmpeg.org/download.html

tar xjf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads
make
make install

在编译带lib-idk-aac、x264、x265的FFMPEG时出现
WARNING: using libfdk without pkg-config
WARNING: using libx264 without pkg-config
ERROR: x265 not found using pig-config

原因是需要设置 PKG_CONFIG_PATH,通过pkg-config去指定路径自动寻找需要链接的依赖库,同时,就不需要使用

--extra-cflags=-I、
--extra-cxxflags=-I、
--extra-ldflags=-L来指定依赖库路径

使用方法:在./configure之前执行

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

(此路径为.pc文件所在路径),之后可使用 echo $PKG_CONFIG_PATH 查看

安装选项参考:https://blog.csdn.net/momo0853/article/details/78043903

安装完执行 ffmpeg 命令时报错:

ffmpeg: error while loading shared libraries: libpostproc.so.55: cannot open shared object file: No such file or directory

ffmpeg: error while loading shared libraries: libx264.so.157: cannot open shared object file: No such file or directory

解决方法:

find /  -name 'libpostproc.so.55'
vim /etc/ld.so.conf 
#将上面找到的目录添加到/etc/ld.so.conf 最后一行并保存退出,执行下面的命令更新配置;
/sbin/ldconfig

效果:
11.png

代码参考:

HTML:
<div class="panel-title"><span>个性标签</span></div>

CSS:
.panel-title span {
    display: inline-block;
    width: 70px;
    font-weight: 500;
    text-align: justify;
    text-align-last: justify;
}
.panel-title:after {
    content: "\FF1A";
}

首先排除了没有less 和less-loader的可能 

这个问题定位应该是webpack关于less-loader的配置默认值是不合适的

需要添加新的配置进去 

但是Vue-CLI3没有将2.x时的webpack.base.conf.js文件暴露在项目目录中 

而是通过创建vue.config.js并添加自定义配置项在里面 最终在run serve或run build的时候 检测该js文件并将配置项通过merge合并进去 的方式实现配置项的修改

在Vue-cli2.x的时候 给loader加配置项是方式是这样的

{ loader: 'less-loader', options: { javascriptEnabled: true } }

在Vue-Cli3.0中需要这样写vue.config.js

module.exports = {
  css: {
    loaderOptions: { // 向 CSS 相关的 loader 传递选项
      less: {
        javascriptEnabled: true
      }
    }
  }
}

这个时候重启项目

npm run serve

是不是就不再报这个错误了?

原文:https://blog.csdn.net/perryliu6/article/details/82422885

在升级脚手架到vue-cli3.0版本的时候出现了这个报错:

我在这里大概说一下出现这个报错的原因在哪里和解决办法

原因
vue有两种形式的代码 compiler(模板)模式和runtime模式(运行时),vue模块的package.json的main字段默认为runtime模式, 指向了"dist/vue.runtime.common.js"位置。

这是vue升级到2.0之后就有的特点。

而我的app.vue文件中,初始化vue却是这么写的,这种形式为compiler模式的,所以就会出现上面的错误信息

// compiler
new Vue({
  el: '#app',
  router: router,
  store: store,
  template: '<App/>',
  components: { App }
})

解决办法
将app.vue中的代码修改如下就可以

//runtime

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app")

到这里我们的问题还没完,那为什么之前是没问题的,之前vue版本也是2.x的呀?

原作者文章中还有两种解决办法,请阅读原文章查看:


作者:LeonWuV
来源:CSDN
原文:https://blog.csdn.net/wxl1555/article/details/83187647
版权声明:本文为博主原创文章,转载请附上博文链接!