Linux/Ubuntu - Fla
Windows下使用MinGW编译ffmpeg与x265
测试系统:Windows XP SP3 x86 & Windows 8.1 x64
2014年4月21日 luofl1992
1、准备工作
MinGW下载地址:http://sourceforge.net/projects/mingw/files/
点选:Installer>>mingw-get-setup.exe 进行下载,完成后开始安装 MinGW,前面的安装设置保持默认,进入到这里后,先在Basic Setup里面选择这样几项:
-base -g++ -developer-toolkit
如下图:
接着在All packages选MSYS里面的 system-builder:
选择完毕后,点Installations菜单,选择apply changes,然后确认开始下载这些库(约126个包需要下载)。
下载完成后,界面上会提示完毕,点击close按钮即可。然后下载yasm,是一个exe文件放到MinGW的安装目录的bin文件夹,重命名为yasm.exe,或者msys/1.0/bin目录下。下面开始的编译相应库和ffmpeg的操作需要使用MSYS,要修改C:\MinGW\msys\1.0\etc目下的fstab文件,如果不存在fstab,复制一份fstab.sample到当前目录,然后改名为:fstab,再修改其内容为
C:/MinGW/mingw /minGW
其中前面是MinGW的安装目录,也即为MinGW的安装路径,否则后面编译库的时候会提示缺少头文件。下面的操作,需要在命令行下完成,不同的是通过msys进入,即运行C:\MinGW\msys\1.0目录下的msys.bat批处理文件,进入一个模拟linux系统的命令行。如下图,注意切换目录时,相对目录与windows下一致,切换到其他盘时不同,如下图:
2、编译ffmpeg
ffmpeg可以到 http://www.ffmpeg.org/releases/ 下载,我下载的是最新版本2.2版。(注意下载的文件后缀名应该是 .tar.gz 如果下载下来没有这两个点的后缀,请自己加上再解压)或者:https://github.com/FFmpeg/FFmpeg 点界面右边的Download Zip下载。
为了支持额外的扩展库编解码,需要额外下载。
首先编译x264库,下载地址:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
下载源码后解压,编译安装:
./configure --prefix=/olibs --enable-shared --enable-static (注意中间是两个英文的减号,prefix项目指定库的安装目录,配置要2~3分钟的时间)
make (如果提示出错了最好先执行make clean命令,大概10分钟)
make install(无错误的话进行下一步,有错误的话检查一下上面的操作是否有所遗漏)
然后是编译x265库:(最新的版本已经有支持配置选项)
下载tortoiseHG,到目录https://bitbucket.org/multicoreware/x265/src下载最新版本,编译x265需要安装cmake用来生成工程文件,注意下载最新版本,最新的x265需要cmake2.8.8以上版本。安装cmake完毕(注意设置添加到PATH)后重新进入到x265/build/msys目录,执行 make-Makefiles.sh。
这里会报错,Win8.1 x64提示是缺少三个文件( xp系统中没有提示可以直接出现下面界面)
x86_64-w64-mingw32-g++ x86_64-w64-mingw32-gcc x86_64-w64-mingw32-windres
直接将 MinGW目录下的Bin目录下 g++、gcc、windres三个文件拷贝,然后重命名成对应的即可,然后出现了这样的界面(1处设置为C:\MinGW\msys\1.0\olibs,2处设置为bin,3处设置为lib,2和3是相对于1的路径):
先点下面的configure,然后点generate即可,然后关闭,回到命令行。同上面的执行
make 然后是 make install。最后编译成功应该可以找到对应的lib文件在olibs目录下。
最后编译ffmpeg
假设安装路径为/FFmpeg/Release(相对于MSYS目录的位置),假设第三方库所在路径为/olibs,配置编译,注意下面蓝色的可能不好用(在Win8.1下尝试时总是提示找不到libx264库,最后将MinGW安装目录下的msys\1.0\olibs里面的结果bin、include和lib中的库和头文件拷贝一份到MinGW安装目录下的对应目录中(比如lib目录对应lib目录)配置如下,灰色的可以选用:
./configure --prefix=/FFmpeg/Release --disable-debug --disable-static --enable-shared --extra-cflags=-I/olibs/include --extra-ldflags=-L/olibs/lib --enable-gpl --enable-libx264 --enable-libx265 \
--enable-version3 --enable-avfilter --enable-avfilter-lavf --enable-memalign-hack --enable-avisynth \
--enable-libgsm \
--enable-libmp3lame
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libtheora \
--enable-libvorbis \
--enable-libxvid
make (配置不提示出错的话,就没啥问题了,安心等待喝杯咖啡,20~30分钟)
make install (编译完毕,最后安装)
最后可以在目录C:\MinGW\msys\1.0/FFmpeg/Release 找到编译的结果。
最后推荐一个ffmpeg常用的库:sdl,用来做播放器很简单。Ffmpeg解码其他格式需要添加相应的库,大家可以自行百度,或者在编译ffmpeg之前 ./configure –help 指令查看一下支持的库,然后上网查询一下对应的库即可。
本文到此结束。
最后祝大家(工作顺利||学业有成)
参考链接:
1、MinGW的安装与配置
http://www.cnblogs.com/azraelly/archive/2012/12/31/2840156.html
2、对ffmpeg支持库的编译说明比较详细
http://www.codecoolie.com/ffmpeg/compile-ffmpeg-under-windows/
3、提到了修改fstab文件
http://blog.chinaunix.net/uid-20718335-id-2980793.html
Working on Ubuntu/Linux with Matlab
Working on linux would be more efficient.
1. Install Ubuntu
install the system:
sudo umount -l /isodevice
uninstall firefox and install chrome.
//保留配置文件 sudo apt-get autoremove firefox firefox-branding firefox-gnome-support ubufox //配置文件也一起删掉 sudo apt-get purge firefox firefox-branding firefox-gnome-support ubufox
Chrome browzer can be downloaded by google/baidu it and install the deb file by double-click it.
Then the shurufa ibus can also be uninstalled.
sudo apt-get remove ibus
Another problem is the lightness of the screen could not be saved, just try this command.
sudo gedit /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will “exit 0″ on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. // add this row echo 0 > /sys/class/backlight/acpi_video0/brightness exit 0
You may need to set the default launch system by revising the grub configurations.
sudo gedit /etc/default/grub // set the default launch system number grub_default=0 // set waiting time by revising the timeout timeout=3 // after this sudo update-grub
And you may need to disable your touch panel while you already have a mouse.
sudo gedit /etc/modprobe.d/blacklist.conf // in the end, add this line and restart your computer blacklist psmouse
To reenable, you can delete this line. or try these commands
sudo rmmod psmouse #disable sudo modprobe psmouse #enable
通过以上方法禁用触摸板之后,无法再重新启用触摸板,除非删除添加的语句,重启电脑。
今天发现一个应用指示器(Indicator)可以很方便的禁用和启用触摸板,方法如下:
安装Touchpad Indicator (触摸板开关)
sudo add-apt-repository ppa:atareao/atareao sudo apt-get update sudo apt-get install touchpad-indicator
2. Install matlab.iso to device
download the matlab.iso with versions you can, and then mount it like this,
sudo mkdir /media/cdrom sudo mount -o loop myfile.iso /media/cdrom
then you can easily install matlab on your system using these commands.
cd /mnt/cdrom sudo ./install
select "install without using internet" and then input the key to continue the installation,
when finished, try to "acivate without using the internet" and select the lisence file.
Then execute this to umount the iso file and you can try matlab in your installation directory
sudo umount /mnt/cdrom in the /usr/local/MATLAB/ directory, you will find a desktop file, copy it to your desktop and enjoy it.
If you are unable to find the desktop file, you may try to copy the "Matlab.png" icon file and the "Matlab.desktop" to your matlab installation place. And then try to revise the content by
sudo gedit /usr/local/MATLAB/MATLAB_Production_Server/R2013a/Matlab.desktop // the dektop file content // the installation path is "/usr/local/MATLAB/MATLAB_Production_Server/R2013a/" [Desktop Entry] Type=Application Name=Matlab 8.01 Comment="Start Matlab 8.01" Icon=/usr/local/MATLAB/MATLAB_Production_Server/R2013a/Matlab.png Exec=/usr/local/MATLAB/MATLAB_Production_Server/R2013a/bin/matlab -desktop Categories=Development; Name[en_US]=Matlab // lastly you can copy the desktop file to your desktop. sudo cp /usr/local/MATLAB/MATLAB_Production_Server/R2013a/Matlab.desktop ~/Desktop/Matlab.desktop
3. Update the system
Firstly try this commands to update the system.
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove
sudo update-manager –d
Then the system would open the update-manager, select the upgrade button to finish you upgrading.
sudo apt-get install update-manager-core sudo do-release-upgrade
Unity是Ubuntu自己打造的桌面环境,有人认为Unity桌面环境糟糕的设计使很多Ubuntu用户不满,使其转向Linux Mint等非Unity系列系统。
- Unity优化工具:Unity Tweak Tool,可用来调整外观设置、鼠标、Unity启动器、窗口行为等选项,可直接在Ubuntu软件中心搜索安装或使用命令:sudo apt-get install unity-tweak-tool。
- 隐私设置:Ubuntu默认在其控制面板中显示用户最近访问的文件,可在“系统设置-安全与隐私”中进行调整。
- 禁止显示在线搜索结果:可在Dash中点击需要禁用的插件,选择“禁用”即可。
- 禁止显示购物建议:可在终端执行命令禁用,命令如下:
gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"
4. Install JAVA SE JDK
root@haiyang-Aspire:~# java -version 程序 'java' 已包含在下列软件包中: * default-jre * gcj-4.6-jre-headless * openjdk-6-jre-headless * gcj-4.5-jre-headless * openjdk-7-jre-headless 请尝试:apt-get install <选定的软件包>
sudo mv jdk1.7.0_10 /usr/lib/jvm/
sudo gedit ~/.profile
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_10 export JRE_HOME=/usr/lib/jvm/jdk1.7.0_10/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH
$ source ~/.profile
再次使用java -version命令可以看到如下输出:
$ java -version java version "1.7.0_10" Java(TM) SE Runtime Environment (build 1.7.0_10-b18) Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_10/bin/java 300
输入sun jdk前的数字就好了
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_10/bin/javac 300 $ sudo update-alternatives --config java $ sudo update-alternatives --config javac
这个问题很奇怪,不知到根本原因是什么,但是用以下方法可以解决:
$ cd <eclipse dir> $ ln -sf $JRE_HOME jre
目的是在eclipse安装目录下建立一个名称为jre的链接,将其指向java安装目录下的jre目录。
YCbCr420(YUV420)和bmp24图像格式的转换
在视频编码的时候,原始序列一般为YUV序列,可惜目前好用的工具不支持单帧图像的导出,于是我写了这样一个命令行程序。
用来进行两者的转换。
JDL网站被黑客攻击
(简称联合实验室、JDL)是专门从事多媒体技术和智能人机交互技术等研究的机构,研发目标主要锁定在宽带网络多媒体系统中核心技术的研究,以及关键应用系统的开发。今日打开一看,变成全红色的了。