问一些linux下x264编码的问题
dwing吧
全部回复
仅看楼主
level 5
hayu187 楼主
最近虚拟机弄了个centos想在linux环境下实现转码
作为一个新手,我花了好多时间来弄明白FFmpeg和libav是个啥关系,坑!
首先,第一个问题,困扰我很久。我发现编译安装ffmpeg或者libav的教程中都需要先编译x264
而编译安装x264的教程中又都需要先编译ffmpeg或者libav,以及ffms2。
作为一个新手,遇到这样逻辑上讲不通的问题我很是困惑,但是经过深入的学习,我对这个问题有了一点不知对错的了解:
编译ffmpeg需要的是libx264,而在没有编译ffmpeg和ffms2之前编译的x264并非完整功能的x264。反之亦然,如果目标是编译x264那么之前编译的ffmpeg也非完整功能的,我们只需要其中的一些lib,例如解码功能的的lib。
请大神解答我这样的理解是否正确。请原谅我这么一个长期被windows侵害的人对linux各种开源项目各种无知。
其次,我想弄清楚如果在linux系统下转码,那种方法是主流?是使用ffmpeg或者libav,还是直接使用x264?当然我的意思是进行x264编码,并且暂不考虑音频编码以及mux。在windows环境下无论是gui还是cli我都能熟练的使用x264,熟悉它各个参数的含义。但是如果用ffmpeg调用libx264编码,是否所有x264原生的参数都能设置?(我觉得不是)
目前我的情况是ffmpeg和libav都能编译成功,但是ffmpeg编译完了后重启centos图形化界面会有点问题,开机不跳出登陆窗口(不是完全不能进入图形化界面,只是登陆窗口不出来,这个问题原因不明,本人束手无策,命令行界面登陆正常),所以现在正常能用的就是libav。但是libav转码的avconv的教程感觉又太少,官网关于x264转码的说明也只有短短的一段,远不如ffmpeg讨论得多。
x264仍在努力编译中...求各位看官赐教
2013年09月04日 06点09分 1
level 11
avconv和ffmpeg命令行差不多。。。而且LZ是不是忘记了yum的存在?
2013年09月04日 14点09分 3
不知道要添加啥源啊,百度到这一篇https://tieba.baidu.com/p/2081892638但是没具体的说明该怎么操作
2013年09月04日 15点09分
回复 hayu187 :手机看不到文章。。。试试清华的源
2013年09月04日 16点09分
回复 hanyuwei70 :添加了一个yum第三方源,最新的x264都是一年前编译的,而且也不支持ffms
2013年09月04日 17点09分
回复 hayu187 :apt-get党表示十分遗憾[勉强]
2013年09月04日 18点09分
level 13
CentOS下直接添加epel源和rpmfusion的源,直接可以用yum安装ffmpeg和x264。
只不过一些功能没有编译进去。
另外,个人觉得x264比ffmpeg好编译,x264功能单一,编译参数较少,根据需要开启enable即可,但是ffmpeg功能太多,编译参数繁琐,想要添加自己需要的功能的时候反而编译各种挂。
另外,CentOS就是服务器操作系统,你在这个系统上搞什么软件的编译??
真想玩的话你好歹换个桌面操作系统去玩啊,喜欢当小白鼠选fedora,喜欢搞美化折腾的选opensuse,当然你也可以考虑debian系的桌面操作系统
2013年09月05日 01点09分 5
没有的功能估计就是MP4输出和ffms、lavf的输入,这三个分别需要GPAC、FFMS2、FFMPEG/LIBAV来支持。
2013年09月05日 02点09分
回复 free077go :yum源的x264记得是不带mp4输出支持的,那个要编译ya什么的。ffmpeg自己带一堆功能之后居然反复编译失败,就再也不在centos搞这些编译了。老老实实的高一些服务器软件的编译安装多幸福,干嘛要在centos编译这种更新快的多媒体软件
2013年09月05日 02点09分
回复 abcfy2 :ffmpeg的编译比较简单了,麻烦的是像wine之类的东西
2013年09月05日 06点09分
回复 yksoftsystems :wine直接用现成的软件源,坚决不自己编译,简直是找罪受
2013年09月05日 07点09分
level 13
@hayu187
在linux mint下尝试编译x264,基本上一次过,只不过一开始有几个no,安装一下lib就可以了。以下参数编译,所有的开关全是yes了
fengyu@fengyupc ~/x264 $ ./configure --enable-static --enable-shared --enable-visualize --system-libx264 --enable-gprof --enable-strip --enable-pic --enable-debug
platform: X86_64
system: LINUX
cli: yes
libx264: system
shared: yes
static: yes
asm: yes
interlaced: yes
avs: avxsynth
lavf: yes
ffms: yes
gpac: yes
gpl: yes
thread: posix
opencl: yes
filters: resize crop select_every
debug: yes
gprof: yes
strip: yes
PIC: yes
visualize: yes
bit depth: 8
chroma format: all
You can run 'make' or 'make fprofiled' now.
当然这样编译很不科学,只是为了好玩,所有的可选参数全部yes了玩玩而已。
centos那是服务器操作系统,基于RHEL,以稳定性为主,无论是内核还是软件还是lib都比较老旧,编译的时候某些依赖可能需要你手工编译新版本解决。想玩这种编译你还是换个桌面操作系统玩吧。喜欢debian系的可以考虑ubuntu,linux mint,国产的deepin也不错。
喜欢RH系的可以考虑fedora,opensuse等等。
2013年09月06日 02点09分 6
level 12
debian testing环境 (现在变成stable了),编译x264-tmod毫无问题。关键点在于依赖库最好用软件包来装,比如libavcodec-dev之类的。注意要装*-dev、-devel的包。该装的装完以后直接编译就行了。centos编译最新的软件是作死 -_-
2013年09月06日 18点09分 7
level 9
直接用LINUX软件编码不就行了?我的同名ID在UBUNTU中文论坛有个性签名有软件链接,至于播放稀奇古怪的格式,推荐OS4系统,就算断网安装好也能完美解码~
2013年09月13日 17点09分 9
1