windows7下ffmpeg编译支持x265
来源:互联网 发布:妈妈讲故事软件 编辑:程序博客网 时间:2024/06/05 16:18
一. 下载ffmpeg
之前的2.1.1版本的ffmpeg不支持x265,在http://www.ffmpeg.org/releases/下载2.3版本ffmpeg-2.3.tar.gz,解压到D:\MinGW\msys\1.0\home\Administrator\source,解压出ffmpeg-2.3文件夹。
二. mingw编译 x265
准备工作,利用tortoiseHg的Locate下载好x265文件,位于D:\MinGW\msys\1.0\home\Administrator\source\x265。
下载x265源代码
通过Tortoisehg下载x265, x265的下载地址为https://bitbucket.org/multicoreware/x265/src
TortoiseHg安装完成后,新建x265文件夹(如D:\x265),在D:\x265鼠标右键菜单TortoiseHg->clone
安装在D:\MinGW\msys\1.0\home\Administrator\source\x2651. 双击msys.bat打开mingw32
cd /d/MinGW/msys/1.0/home/Administrator/source/x265/build/msys
执行make-Makefiles.sh出现CMake
配置好vld,yasm.exe,support_winxp, 输出路径(即make install安装路径), Configure, Generate, File->exit.
mingw环境下: make
等待完成100%,
然后执行make install
x265输出路径(C:\ProgramFiles (x86)\x265)下 include && lib && bin 拷贝到D:\MinGW\msys\1.0\home\Administrator\install\对应的include&& lib && bin下面.
三. 编译ffmpeg
mingw32 下面进入/d/MinGW/msys/1.0/home/Administrator/source/ffmpeg-2.3
执行configure(增加libx265)
./configure --prefix=/home/Administrator/install--extra-cflags=-I/home/Administrator/install/include --extra-ldflags=-L/home/Administrator/install/lib --enable-gpl --enable-version3 --enable-memalign-hack --enable-nonfree--disable-static --enable-shared --disable-doc --disable-htmlpages--disable-manpages --disable-podpages --disable-txtpages --enable-bzlib--enable-zlib --enable-iconv --enable-libx264 --enable-libx265 --enable-libxavs--enable-libmp3lame --enable-libfaac --enable-libfdk-aac --enable-libvo-aacenc--enable-libvo-amrwbenc --enable-libopencore-amrnb --enable-libopencore-amrwb
配置结束
执行make
编译出错:
以libavutil/file.c为例
/**********************************************************************/
In fileincluded from libavutil/file.c:27:0:
d:\mingw\include\unistd.h:79:1:error: expected ',' or ';' before 'int'
int __mingw_sleep( unsigned long, unsignedlong );
^
In fileincluded from libavutil/file.c:27:0:
d:\mingw\include\unistd.h:105:1:error: expected ',' or ';' before 'int'
int nanosleep( const struct timespec *, structtimespec * );
^
d:\mingw\include\unistd.h:125:28:error: expected ',' or ';' before 'usleep'
int _cdecl __MINGW_NOTHROW usleep( useconds_t)__MINGW_ATTRIB_DEPRECATED;
^
d:\mingw\include\unistd.h:138:10:error: conflicting types for '_cdecl'
unsigned _cdecl __MINGW_NOTHROW sleep(unsigned );
^
d:\mingw\include\unistd.h:125:5:note: previous declaration of '_cdecl' was here
int _cdecl __MINGW_NOTHROW usleep( useconds_t)__MINGW_ATTRIB_DEPRECATED;
^
d:\mingw\include\unistd.h:138:33:error: expected ',' or ';' before 'sleep'
unsigned _cdecl __MINGW_NOTHROW sleep(unsigned );
^
d:\mingw\include\unistd.h:153:12:error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ftruncate'
int _cdecl ftruncate( int, off_t );
^
make:*** [libavutil/file.o] Error 1
/**********************************************************************/
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavutil\file.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavutil\file_open.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavutil\log.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavutil\random_seed.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavutil\time.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\cache.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\file.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\hdsenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\id3v2.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\mov.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\smoothstreamingenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\swfdec.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavformat\swfenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\cscd.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\dxa.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\lcldec.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\lclenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\pngdec.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\pngenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\svq3.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\tiff.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\tiffenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\tscc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\zmbv.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\libavcodec\zmbvenc.c
D:\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.3\ffmpeg.c
对策:#include<unistd.h> 或 #include <zlib.h> 或 #include"swf.h" 前面添加#include<windows.h>
make install
提示avcodec-55.dll 文件已存在,应该是误报,再执行一遍make install
最终执行完毕
测试:将h264文件app.h264 转码为h265文件app.hevc
ffmpeg.exe -i /d/app.h264 -vcodec libx265 /d/app.hevc
- windows7下ffmpeg编译支持x265
- mingw下ffmpeg编译添加x265支持
- Linux 下编译FFmpeg 支持x264, x265
- 在Ubuntu下FFmpeg编译,支持x264和x265。
- 在Ubuntu下FFmpeg编译,支持x264和x265。
- linux 编译ffmpeg 支持x264, x265
- linux 编译ffmpeg 支持x264, x265
- 编译x265+FFMPEG
- Centos7 下 ffmpeg +x264 +x265+ libva(intel) 编译
- mac下编译ffmpeg+x265+x264+faac
- ffmpeg+x265+m3u8-segmenter编译
- mingw+ffmpeg+x265编译配置
- ffmpeg2.5.3 ubuntu下编译 支持x265的ffplay
- mingw编译ffmpeg+x265过程记录
- mingw编译ffmpeg+x265过程记录
- mingw编译ffmpeg+x265过程记录
- centos6编译ffmpeg 带aac x264 x265
- 交叉编译ffmpeg:aac x264 x265
- svn检出不能ctrl追踪方法,不能新建class
- MySQL数据库中的哈希加密
- 树形DP HDU 2196
- Java:应用Observer接口实践Observer模式
- 前端开发工程师必须关注的几个性能指标
- windows7下ffmpeg编译支持x265
- Hibernate中get()和 load()的区别
- Ftp 命令, 匹配文件 ,多文件下载
- 【高并发解决方案】电商:如何设计一个秒杀系统
- android数据库的简单事例
- DOM0级事件的绑定方法
- 《C专家编程》7-8章阅读收获
- 左边固定,右边自适应及左边自适应,右边固定布局的几种方法
- python windows 转义r''