当前位置:文档之家› ffmpeg环境搭建

ffmpeg环境搭建

ffmpeg环境搭建
ffmpeg环境搭建

https://www.doczj.com/doc/c818427060.html,/leixiaohua1020/article/details/126

79719

https://www.doczj.com/doc/c818427060.html,/zhouyongku/article/details/44961

447

Windows下编译FFmpeg-2.6.1详解在诸多网友帮助下终于搞定了FFmpeg V2.6.1,由于编译环境和程序版本的不同,造成了很多不必要的时间浪费,特在此将编译过程和遇到的问题解决方法写出来,以便方便大家。

编译环境:PC Windows7 64bit、编译工

具:MinGW+MSYS+yasm 编译软件:ffmpeg-snapshot-git.tar.bz2

一、下载FFmpeg

FFMPEG官网:https://www.doczj.com/doc/c818427060.html,/download.html

FFmpeg SVN:svn://svn.mplayerhq.hu/ffmpeg/trunk

FFmpeg GIT: git://https://www.doczj.com/doc/c818427060.html,/ffmpeg.git ffmpeg 由于FFmpeg的SVN代码停止了更新,所以从

svn://svn.mplayerhq.hu/ffmpeg/trunk 上Down下来的代码编译后与在官网上下载的头文件不匹配!所以只能从git上下载或下载git压缩包!

我的下载步骤:打开https://www.doczj.com/doc/c818427060.html,/download.html

下载完ffmpeg-snapshot-git.tar.bz2后解压到D:\work\code\FFmpeg 路径任意(最好为英文,方便MinGW操作)

二、下载MinGW+msys

MinGW - Minimalist GNU for Windows-是Windows下模拟linux 运行的库、头文件等的集合。

msys-Minimal SYStem-是Windows下模拟linux运行的最新系统,可以通过类似于linux bash的命令行窗口进行代码编译。

登陆https://www.doczj.com/doc/c818427060.html,/projects/mingw/files/

下载完成之后点击安装关键是选择一个路径C:\MinGW作为安装路径,直接下一步就可以

最后点击continue进行安装完毕确认并进入下载环节

点击左边的列表框,选中Basic Setup,在右侧会出现一些必要的下载项,全选即可。

选择完毕后点击菜单Installation->Apply Changes 开始下载

三、配置MinGW

MinGW下载完成后进入安装目录,如果是C:\MinGW 则目录为

C:\MinGW\msys\1.0

用记事本打开msys.bat文件,在第一行加入:

call "C:\Program Files (x86)\Microsoft Visual Studio

12.0\VC\bin\vcvars32.bat"

call对应的目录为你的VC安装程序所在目录

使用UltraEdit修改C:\MinGW\msys\1.0\etc目下的fstab文件,如果不存在fstab,请复制一份fstab.sample,然后改名为:fstab,

再修改其内容为:C:/MinGW /mingw,也即为MinGW的安装路径。

四、下载yasm

ffmpeg编译的时候需要yasm.exe 打开

https://www.doczj.com/doc/c818427060.html,/Download.html下载与你版本相匹配的yasm 我

用的是win764位所以下载的是Win64 .exe (for general use on 64-bit Windows) 如果你的32位系统请下载32位的程序

五、配置yasm

将下载好的yasm-1.3.0-win64.exe 或者yasm-1.3.0-win32.exe 修改为yasm.exe并拷贝到c:\windows\system32文件夹下--这样不需要做过多的环境变量配置

六、编译FFmpeg

1、运行软件

运行C:\MinGW\msys\1.0\msys.bat 在弹出窗口中进入ffmpeg的代码解压路径

cd D:\work\code\FFmpeg

2、配置FFmpeg makefile

输入./configure --enable-shared --disable-static

--enable-memalign-hack

3、编译FFmpeg

make

ffmpeg生成的文件在各自的目录下,可以通过windows自带的查找文件功能搜索*.dll和*.lib 导出这些生成库

七、编译时问题

如果编译的是老版本的FFmpeg 则会出现以下这些问题

1、gcc is unable to create an executable file.

这是由于gcc编译器没有准备好,应该是安装过程中出了错误,重装一下。

2、error: static declaration of 'lrint' follows non-static declaration

../libavutil/libm.h:62: error: static declaration of 'lrint' follows

non-static declaration

../libavutil/libm.h:69: error: static declaration of 'lrintf' follows

non-static declaration

../libavutil/libm.h:76: error: static declaration of 'round' follows

non-static declaration

../libavutil/libm.h:83: error: static declaration of 'roundf' follows

non-static declaration

将ffmpeg代码路径下的config.h中的lrint、lrintf、round、roundf 等定义为1

3、implicit declaration of function 'strcasecmp'

这个问题是由于MinGW的环境中没有strcasecmp函数造成,可以通过自己编写代码加入到工程中,也可以自己编写代码保存成文件放到MinGW的include目录下。

将下列代码存储成strcasecmp.h于mingw include目录下。

将这个文件include进avstring.h和metadata.h中,问题解决。

4.

C:\\MinGW\\include\\unistd.h修改该文件中的“_cdecl”为“__cdecl”,然后再继续make

5.

./configure --enable-shared --disable-static --enable-ffplay

--enable-nonfree --enable-memalign-hack

--enable-libmp3lame

--enable-gpl--enable-libx264

--enable-libxvid

--enable-faad --enable-libfaac

--enable-libvo-aacenc

--enable-version3 --enable-libopencore-amrnb

--enable-libopencore-amrwb --enable-libvo-amrwbenc

--extra-cflags=-Id:/ffmpeg/ffmpeg-0.8.6/include

--extra-ldflags=-Ld:/ffmpeg/ffmpeg-0.8.6/lib

6. faac faac.diff

patch -p1 < faac-1.28.diff

chmod +x bootstrap

./bootstrap

./configure --prefix=/usr --with-mp4v2 --enable-shared

make

make install

Hadoop、hive环境搭建详解

一、
Hadoop 环境搭建 首先在 Apache 官网下载 hadoop 的包 hadoop-0.20.2.tar.gz。 解压 hadoop-0.20.2.tar.gz 包,具体命令如下: tar zxvf hadoop-0.20.2.tar.gz 其中要注意的是,tar 包用 xvf ,gz 包用 zxvf。
在安装中,如果遇到识别问题,或者无法解压,很有可能是权限问题,解决方案 是修改此文件的使用权限,命令如下: chmod 777 hadoop-0.20.2.tar.gz 其中,777 为所有权限。 如果依然报错,如:Archive contains obsolescent base-64 headers;Error exit delayed from previous errors。 这种情况,一般是压缩包损坏的问题。因为大多数人会将包下载到 windows 环境,再通过 ftp 等方法上传到 Linux 环境。容易产生包损坏。建议大 家直接下载到 Linux 即可。具体命令如下: wget https://www.doczj.com/doc/c818427060.html,/apache-mirror/hadoop/core/hadoop-0.20.2/ hadoop-0.20.2.tar.gz 直接下载到当前目录。 当文件准备好之后,我们要修改配置,将 Hadoop 简单 run 起来。 首先,我们进入 hadoop-0.20.2/conf 目录当中,其中会存在如下配置文件: 首先修改 masters 和 slaves,这个是指定我们的 m 和 s 的 ip 地址,这里我们 就以单台机器为例子,在文件中直接输入当前机器的 IP。 之后我们修改 mapred-site.xml 文件,具体配置如下 Xml 代码 1. 2. 3.

win7+eclipse+hadoop开发环境搭建

Win7+eclipse+Ubuntu14虚拟机环境下搭建hadoop1.2.1单机模式的开发环境 1.虚拟机下安装ubuntu14操作系统。 **注:(我安装ubuntu的时候的用户名是zjp一下涉及到的所有的zjp都需要换成自己的用名) 2.Ctrl+Alt+t 快捷键可以打开终端。 3.激活root用户sudo passwd root 4.联网的情况下,可以用apt-get install samba命令下载以及安装samba服务器。这个主要是为了window向ubuntu中上传jdk以及hadoop的安装文件。(如果apt-get命令无法使用,先用apt-get update安装这个命令。如果主机联网了,但是ubuntn没有连上网,那么将虚拟机的网络适配器改为NA T模式,并且启动任务管理器。打开服务,查看VMware NAT service 和WMware DPCH service是否启动,如果没有启动那么就启动这两个服务。如果还不能联网那就在虚拟机的菜单栏中选择编辑->虚拟网络编辑器,恢复默认设置。重启一下电脑,如果还是不行,那就没办法了,自求多福!) 5.联网的情况下安装ssh协议apt-get install ssh 6.在/home/zjp 目录下创建两个文件夹1.share用于存放共享文件 2.mysoftware用于存放需要安装的软件 7.配置samba共享su root 切换至root用户gedit /etc/samba/smb.conf 编辑samba 的配置文件在文件的最后添加 [share] comment=sharedir path=/home/zjp/share read only=no browseable=yes guest ok=no 7.关闭防火墙ufw disable 8重启samba服务器service samba restart 9创建samba用户smbpasswd -a samba用户名eg:smbpasswd -a zkpk 10ifconfig查看ubuntu的ip地址。例如ip是192.168.30.128 11打开我的电脑,在地址栏中输入\\192.168.30.128不出意外的话会让你登录,就用创建的samba登录就可以了。然后把下载好的linux版本的jdk和hadoop的安装文件拷贝进去。12.再把传到share目录下面的两个文件拷贝到mysoftware中去。 这些准备工作都做好了,就可以安装jdk以及hadoop了 一.先安装jdk 1.在mysoftware目录下用tar -zxvf jdk-7u55-linux-x64.gz命令解压以及安装jdk。 2.配置环境变量 gedit /etc/profile 然后在文件的最末尾添加如下内容: JA V A_HOME=/home/xkl/mysof/jdk1.7.0_60 export PA TH=$PATH:$JA V A_HOME/bin OK注销一下Ubuntu然后在终端中输入java -version如果可以看见jdk的版本,说明jdk 安装成功。 二.安装hadoop

如何用FFmpeg编写一个简单播放器详细步骤介绍

如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFmpeg, 播放器, 编写 FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG 几乎为你把所有的繁重工作都做了,比如解码、编码、复用和解复用。这使得多媒体应用程序变得容易编写。它是一个简单的,用C编写的,快速的并且能够解码几乎所有你能用到的格式,当然也包括编码多种格式。 唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基本原理另外还有一个使用doxygen生成的文档。这就是为什么当我决定研究 FFMPEG来弄清楚音视频应用程序是如何工作的过程中,我决定把这个过程用文档的形式记录并且发布出来作为初学指导的原因。 在FFMPEG工程中有一个示例的程序叫作ffplay。它是一个用C编写的利用ffmpeg来实现完整视频播放的简单播放器。这个指导将从原来Martin Bohme写的一个更新版本的指导开始(我借鉴了一些),基于Fabrice Bellard的ffplay,我将从那里开发一个可以使用的视频播放器。在每一个指导中,我将介绍一个或者两个新的思想并且讲解我们如何来实现它。每一个指导都会有一个C源文件,你可以下载,编译并沿着这条思路来自己做。源文件将向你展示一个真正的程序是如何运行,我们如何来调用所有的部件,也将告诉你在这个指导中技术实现的细节并不重要。当我们结束这个指导的时候,我们将有一个少于1000行代码的可以工作的视频播放器。 在写播放器的过程中,我们将使用SDL来输出音频和视频。SDL是一个优秀的跨平台的多媒体库,被用在MPEG播放、模拟器和很多视频游戏中。你将需要下载并安装SDL开发库到你的系统中,以便于编译这个指导中的程序。 这篇指导适用于具有相当编程背景的人。至少至少应该懂得C并且有队列和互斥量等概念。你应当了解基本的多媒体中的像波形一类的概念,但是你不必知道的太多,因为我将在这篇指导中介绍很多这样的概念。 更新:我修正了在指导7和8中的一些代码错误,也添加-lavutil参数。欢迎给我发邮件到dranger@https://www.doczj.com/doc/c818427060.html,,讨论关于程序问题、疑问、注释、思路、特性等任何的问题 指导1:制作屏幕录像 源代码:tutorial01.c

Hadoop环境的搭建与管理 (1)

Hadoop环境的搭建与管理 1、Hadoop的安装与配置 HDFS在Master节点启动dfs和yarn服务时,需要自动启动Slave节点服务,HDFS需要通过ssh访问Slave节点机。HDFS需要搭建多台服务器组成分布式系统,节点机间需要无密码访问。本节任务是进行ssh的设置、用户的创建、hadoop参数的设置,完成HDFS分布式环境的搭建。 任务实施: 本节任务需要四台节点机组成集群,每个节点机上安装CentOS-6.5-x86_64系统。四台节点机使用的IP地址分别为:192.168.23.111、192.168.23.112、192.168.23.113、192.168.23.114,对应节点主机名为:node1、node2、node3、node4。节点机node1作为NameNode,其他作为DataNode。 创建hadoop用户,分别在四台节点机上创建用户hadoop,uid=660,密码分别为h1111, h2222, h3333, h4444。登录node1节点机,创建hadoop用户和设置密码。操作命令如下。 [root@node1 ~]# useradd -u 660 hadoop [root@node1 ~]# passwd hadoop 其他节点机的操作相同。 步骤2 设置master节点机ssh无密码登录slave节点机。 (1)在node1节点机上,以用户hadoop用户登录或者使用su – hadoop切换到hadoop 用户。操作命令如下。 [root@node1 ~]# su - hadoop (2)使用ssh-keygen生成证书密钥,操作命令如下。 [hadoop@node1 ~]$ssh-keygen -t dsa (3)使用ssh-copy-id分别拷贝证书公钥到node1,node2,node3,node4节点机上,操作命令如下。 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node1 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node2 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node3 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node4 (4)在node1节点机上使用ssh测试无密码登录node1节点机,操作命令如下。 [hadoop@node1 ~]$ ssh node1 Last Login: Mon Dec 22 08:42:38 2014 from node1 [hadoop@node1 ~]$ exit Logout Connection to node1 closed.

linux编译ffmpeg支持x264,x265

linux 编译ffmpeg 支持x264, x265 1. 前言 本教程涉及的ffmpeg, x264, x2652. 环境依赖 2.1 删除系统中安装的ffmpeg等库 [plain] view plain copy sudo apt-get --purge remove ffmpeg mplayer x264 x265 2.2 安装依赖库 [plain] view plain copy sudo apt-get update sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \ libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \ libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev 注: 服务器版本可忽略 libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev2.3 下载源代码 (1) ffmpeg [plain] view plain copy git clone git://https://www.doczj.com/doc/c818427060.html,/ffmpeg.git ffmpeg

(2) x264[plain] view plain copy <pre name="code" class="plain"><pre name="code" class="plain">git clone git://https://www.doczj.com/doc/c818427060.html,/x264.git (3) x265[plain] view plain copy hg clone https://https://www.doczj.com/doc/c818427060.html,/multicoreware/x265 (4) yasm yasm 是x86平台的一个汇编优化器, 能够加快ffmpeg x264的编译 [plain] view plain copy wget https://www.doczj.com/doc/c818427060.html,/projects/yasm/releases/yasm-1.3.0.ta r.gz tar xzvf yasm-1.3.0.tar.gz 3. 编译 3.1 配置编译输出目录 [plain] view plain copy export FFMPEG_PATH="YOUR_PATH" export PATH="$FFMPEG_PATH/bin:$PATH" 例如我输出目录为$HOME/ffmpeg_2.6.3/build_out 那么: [plain] view plain copy export

视频解码中用到的ffmpeg交叉编译技巧

视频解码中用到的ffmpeg交叉编译技巧 一、简介 FFmpeg是一个集录制,转换,音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。 由于ffmpeg是基于linux开发的,源代码和windows下最常见的visual studio提供的c/c++编译器不兼容,因此不能直接使用msvc++编译,想要使用ffmpeg,需要在windows下配置一个类似Linux 的编译环境,并将ffmpeg编译为二进制库以后,再利用其进行进一步开发。 目前,windows下可直接使用的最新版本是由ffmpeg工程组,于2008年4月份发布的ffmpeg full sdk v3.2。该sdk尽可能的集成了更多的编解码器。 在应用中,使用该开发包存在2个缺陷,第一,该sdk编译基于ffmpeg r12790,编解码效率上,当前已经有了较大的提升;第二,该开发包包含了很多不需要的编解码器,需要尽可能减少开发包的体积及关联的库的个数。基于以上需求,需要自己编译出windows下可用动态库及静态库。 使用到的库文件有4个,libavcodec,libavformat,libavutil,libswscale,其中库 libavcodec,libavformat用于对媒体文件进行处理,如编解码;libavutil是一个通用的小型函数库,该库中实现了CRC校验码的产生,128位整数数学,最大公约数,整数开方,整数取对数,内存分配,大端小端格式的转换等功能,libswscale主要用于图像格式转换及缩放。因效率的需要,我们选择了 ffmpeg-mt版本,同时通过配置编译尽量减少相关文件的体积。 网上类似编译过程说明较多,但实际编译过程中碰到一些问题,这些问题的解决花费了不少时间,本文档对这一过程进行记录,以便后续维护及学习。 二、编译环境搭建 windows下ffmpeg编译环境有多种可选择方案。这里我们使用MinGW+MSYS。 1.下载mingw+msys并安装 https://www.doczj.com/doc/c818427060.html,/projects/mingw/ mingw,默认安装,在choose components时选择g++ compiler及MinGW Make Msys,默认安装, Do you wish to continue with the post install【yn】,y! Do you have mingw installed?【yn】,y Where is your mingw installation? C:/mingw

linphone分析

目录 1 LINP HONE 的编译3 1.1 LINPHONE 在ARM 上的编译环境说明3 1.2 LINPHONE 依赖的库3 1.3 LINPHONE 编译脚本3 1.4 编译过程中的问题4 2 LINP HONE 代码分析4 2.1 LINPHONE 的初始化分析4 2.1.1 LINPHONEC 的初始化5 2.1.2 LINPHONE_CORE 的初始化5 2.1.3 ORTP 的初始化5 2.1.4 MEDIASTREAM2 的初始化6 2.1.5 EXOSIP 的初始化6 2.2 LINPHONE 的通话过程分析6 2.2.1 LINPHONE 的命令处理分析7 2.2.2 LINPHONE 的呼叫过程分析7 2.2.3 LINPHONE 的通话过程分析8 2.2.4 LINPHONE 的响应过程分析8 2.3 LINPHONE 中创建以及应用自定义过滤器9 2.3.1 过滤器的基本功能9 2.3.2 过滤器的通用接口10 2.3.3 自定义过滤器10 Linphone 的编译与代码分析 1 Linphone 的编译 1.1 Linphone 在arm 上的编译环境说明 Linphone 在arm 上编译的时候,时常会碰到一些问题,有时候想办法解决了相关的问题,但编译出来的Linphone 在板子上的运行仍然不稳定,或者不能通话。 如果条件允许的话,当碰到这些问题之后,可以换其它的工具链进行编译。我最初编译Linphone 的时候采用的是xscale270 板子自带的工具链,GCC3.4.3 以及uclibc。经过很痛苦 的一番折腾之后,所以的代码最终都编译通过,但是编译出来的linphonec 在板子上运行在通话开始之后总是崩溃。通过GDB 调试,发现是多线程的问题引起的,于是编译了一个线程结构相当的程序,但是测试没有发现问题。 最后,我改用GCC4.0.0 以及Glibc-2.3.5 基本上没有碰到什么问题,直接编译通过,并 且在板子上正常运行。 1.2 Linphone 依赖的库 除了上面所提到的Gcc,Glibc 以及系统的基本库外我主要编译了下面的程序包。 序号库名称说明 1 ReadLine 一个终端显示库,Linphone 会用到它时里面的事件循环机制来读取会话事件。 2 ffmpeg 音视频编解码库 3 Speex 专为通话过程设计的音频编码库 4 libtheora 视频压缩编码库 5 libfaac mpeg4 的音频编码器 6 libfaad2 AAC 音频解码器

hadoop环境配置入门教程

ubuntu 下安装配置hadoop 1.0.4 第一次搞hadoop,折腾我2天,功夫不负有心人,终于搞好了,现在来分享下, 我的环境 操作系统:wmv虚拟机中的ubuntu12.04 hadoop版本:hadoop-1.0.4(听说是稳定版就下了) eclipse版本:eclipse-jee-indigo-SR2-win32 1.先安装好jdk,然后配置好jdk的环境变量,在这里我就不累赘了!网上多的是 2.安装ssh这个也不用说了 2.把hadoop-1.0.4.tar.gz拖到虚拟机中,解压,比如: /home/wys/Documents/hadoop-1.0.4/ (有的还单独建了个用户,为了舍去不必要的麻烦我都是用root用户来操作的) 3.修改hadoop-1.0.4/conf 下面的core-site.xml文件,如下: https://www.doczj.com/doc/c818427060.html, hdfs://192.168.116.128:9000 hadoop.tmp.dir /home/wys/Documents/tmp

192.168.116.128这个是虚拟机中ubuntu的ip,听说用localhost,127.0.0.1都不行,我没试过,直接写上ip地址了 tmp是预先创建的一个目录 4.修改hadoop-env.sh 把export JAVA_HOME=xxxxxx 这行的#号去掉,写上jdk的目录路径 5.修改hdfs-site.xml如下: dfs.replication 1 dfs.permissions false 说明:为了以后用eclipse开发出现各种问题,就把权限关了!

Hadoop安装配置超详细步骤

Hadoop的安装 1、实现linux的ssh无密码验证配置. 2、修改linux的机器名,并配置/etc/hosts 3、在linux下安装jdk,并配好环境变量 4、在windows下载hadoop 1.0.1,并修改hadoop-env.sh,core-site.xml, hdfs-site.xml, mapred-site.xml,masters,slaves文件的配置 5、创建一个给hadoop备份的文件。 6、把hadoop的bin加入到环境变量 7、修改部分运行文件的权限 8、格式化hadoop,启动hadoop 注意:这个顺序并不是一个写死的顺序,就得按照这个来。如果你知道原理,可以打乱顺序来操作,比如1、2、3,先哪个后哪个,都没问题,但是有些步骤还是得依靠一些操作完成了才能进行,新手建议按照顺序来。

一、实现linux的ssh无密码验证配置 (1)配置理由和原理 Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,(datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解)。大概意思是,namenode 和datanode之间发命令是靠ssh来发的,发命令肯定是在运行的时候发,发的时候肯定不希望发一次就弹出个框说:有一台机器连接我,让他连吗。所以就要求后台namenode和datanode 无障碍的进行通信。 以namenode到datanode为例子:namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode 进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到datanode上。

语音模块使用说明(tmp)

语音模块使用说明 一、软件包 gsm-1.0-pl12 GSM编解码库 alsa-lib-1.0.14 ALSA用户层控制函数库,内核语音模块需要支持ALSA alsa-utils-1.0.14 ALSA工具集,依赖于alsa-lib,该工具集提供amixer进行音量调节 libogg-1.1.4 通用开源语音编解码库 speex-1..2rc1 SPEEX开源语音编码协议库,编译linphone需要该库 live555-20100409 livemedia 多媒体支持库,vlc需要该库支持语音多播功能 ffmpeg-0.5 多媒体编码支持库,支持多种格式语音、视频编解码,本项目中使用到该库的a-law, u-law 语音编解码用于语音多播功能 libosip2-3.3.0 SIP协议库 libeXosip2-3.3.0 基于libosip2的SIP协议扩展库,支持更方便的SIP协议API,编译linphone需要该库 linphone-3.2.1 SIP软件电话,需要语音编解码库libogg,gsm,speex的支持,以及SIP协议库libosip2,libeXosip2的支持 vlc VLC流媒体软件,支持流媒体播放功能,需要语音编解码库ffmpeg,流媒体广播库live555的支持 net-control 网络控制功能软件包,提供与语音控制相关的网络接口

二、语音功能与软件包对照列表 点对点呼叫功能: 该功能使用linphone软件包提供的linphonec配合linphonecsh命令接口实现,默认情况下所有需要支持该功能的终端在启动时自动运行linphonec,需要呼叫时由网络模块调用linphonecsh命令接口控制linphonec完成相关功能。 点对多点广播功能: 该功能使用vlc软件包提供的vlc完成,默认情况下vlc不运行,在需要进行网络广播时,由网络控制模块调用vlc加入指定的多播组实现语音广播功能,广播完成后网络控制模块终止vlc的运行。 三、语音模块软件包的编译 前置条件: 安装交叉编译工具链 设置编译环境: 根据编译主机目录环境及交叉编译工具链的安装路径,设定sip-phone/目录下的env.sh.sample中的参数,设置完成后使用 $source ./env.sh.sample 导入编译设定参数 开始编译: 完成编译环境的设置后,运行自动编译脚本 $./make_world.sh 将自动编译生成根文件系统 四、编译环境各目录及文件说明 packages/目录中存放语音模块相关软件包的源代码 skeleton/目录中存放参考根文件系统的目录结构框架及基本配置文件 tools/目录中存放编译各软件包以及生成根文件系统的脚本 env.sh.example参考的编译环境设置文件

Hadoop实验环境搭建

单机上通过虚拟机搭建Hadoop环境 (以下过程软件版本不固定,只能相互兼容就可以) 1.安装vmware workstation(1 2.1.0) 2.创建3个虚拟机(每个虚拟机512M内存,8G空间),每个虚拟机安装Ubuntu 桌面版 (11.10)(虚拟机需安装vmare tools,上网上式可设置为桥接方式:直接连接物理网络)。 一个虚拟机作为name node(master),两个虚拟机作为data node 1(slave1)和data node 2(slave2).三个虚拟机可以共享一个主机目录share,该目录在虚拟机上显示为/mnt/hgfs/share 对每个虚拟机: 修改root密码(sudo passwd root),然后用root用户登录。 3.通过如下配置master, slave1, slave2。 1)通过vi /etc/hostname修改主机名。 2)通过vi /etc/hosts修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系. 在/usr/src目录: 4.下载zlib(1.2.8)并解压安装 5.下载openssl(1.0.1)并解压安装 6.下载openssh(6.0p1)并解压安装 安装后运行命令ssh localhost,如果显示” Privilege separation user sshd does not exist”,解决方法: 修改/etc/passwd,在其中加入 sshd:x:74:74:Privilege-seperated SSH:/var/empty/sshd:/nologin 7.配置ssh无密码登录 在命令行输入:vi /etc/profile.d/hadoop.sh 在hadoop.sh加入以下命令: sudo ufw disable /usr/local/sbin/sshd 在name node: ssh-keygen –t dsa -P ‘’–f ~/.ssh/id_dsa 在data node 1: ssh-keygen –t dsa-P‘’–f ~/.ssh/id_dsa 在data node 2: ssh-keygen –t dsa -P‘’–f ~/.ssh/id_dsa 在name node: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa0.pub 在data node 1: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa1.pub 在data node 2: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa2.pub

windows下使用MinGW+msys编译ffmpeg

C++:windows下使用MinGW+msys编译ffmpeg FFmpeg是在Linux平台下开发的,但它同样也可以在其它操作系统环境中编译运行,本文介绍的就是在windowsXP下编译FFmpeg。 一准备环境: 1 下载mingw 和MSYS 去https://www.doczj.com/doc/c818427060.html,/projects/mingw/ 下载 A 点击“DownLoad mingw-get-inst-...exe”; B 切换到页面:download? Check your browser's security bar, or try a direct link, or try another mirror. ; C 点击“direct link”下载类似:mingw-get-inst-20110802.exe 的文件。 提示:msys此处就不用下载了,mingw-get-inst-20110802.exe 中已经包含了msys1.0,后面安装的时候就可以看到该选项。 2 下载yasm ffmpeg编译里面的汇编代码需要yasm.exe 去官网:https://www.doczj.com/doc/c818427060.html,/Download.html 下载 直接下载:Win32 .exe (for general use on 32-bit Windows) 文件名为:yasm-1.1.0-win32.exe 3 下载ffmpeg ffmpeg可以到https://www.doczj.com/doc/c818427060.html,/releases/ 下载 本人选择的是最新版本:ffmpeg-0.8.5.tar.gz 文件名为:ffmpeg-0.8.5.tar.gz 4 下载SDL SDL下载可以到:https://www.doczj.com/doc/c818427060.html,/download-1.2.php 选择:SDL-1.2.14.tar.gz - GPG signed 此版本需要自己编译,后面会解释为什么下载该版本,而不下载编译好的 SDL-devel-1.2.14-mingw32.tar.gz (Mingw32) 5 下载pthreadGC2.dll pthreadgc2.dll是功能强大的处理数字化影视作品编辑软件premiere6运行所需

虚拟机环境下Hadoop伪分布式平台搭建详细过程

大数据技术平台搭建之Hadoop 1. Hadoop(伪分布式)平台搭建详细过程 1.1 工具 ?VMware12 ?CentOS 6.4 ?JDK-6u24-Linux-i586.bin ?Hadoop-1.1.2.tar.gz ?Scala-2.9.3.tgz ?Spark-1.4.0-bin-hadoop1.tgz ?Win10系统环境 1.2 详细搭建过程 1.2.1 安装虚拟机VMware Workstation 12 Pro 图1.1 VMware Workstation 12 Pro软件开始界面1.2.2 在虚拟机环境上安装Linux系统 (1)点击创建新的虚拟机按钮选择典型配置安装 图1.2 新建虚拟机向导

(2)选择Linux镜像文件,开始虚拟安装 图1.3 选择安装镜像文件(3)为新建的虚拟机命名,并选择安装目录 图1.4 命名、选择安装目录(4)指定虚拟机磁盘大小 图1.5 指定磁盘大小

(5)设置硬件、网络类型等虚拟机配置 图1.6 自定义虚拟机硬件 (6)点击完成按钮完成虚拟机安装 图1.7 CentOS_Linux虚拟机系统安装成功

1.2.3 配置Linux环境,为安装Hadoop做准备 (1)关闭防火墙 执行命令 service iptables status可以查看防火墙状态 执行命令 service iptables stop 关闭防火墙 图1.8 关闭防火墙并检验 执行命令chkconfig iptables off,关闭防火墙某些功能自启动 图1.9 关闭防火墙自启功能并检验 (2)设置网络连接 宿主机(Windows)和客户机(虚拟机中的Linux)采用host-only方式建立网络连接,具体步骤:右击桌面右上角网络连接图标,选择编辑网络连接,如下 图1.10 虚拟机网络设置窗口 接着点击按钮,设置IPv4地址,注意要和主机IP在同一网段 192.168.80.X 图1.11 设置ip窗口

ffmpeg、jrtp、SDL的交叉编译

ffmpeg、jrtp、SDL的交叉编译 https://www.doczj.com/doc/c818427060.html,/weili8607/blog/item/b8c30a3c1ad80308baa16777.html 2009-05-26 10:33 因为需要,重新使用最新的交叉编译器arm-linux-gcc 4.3.2编译了所需要的SDL、ffmpeg、rtp库。其他交叉编译器过程类似,可能遇到不同的问题,视情况解决。 一、SDL的编译 SDL-1.2.13。 ./configure --prefix=/weili/SDL --disable-video-qtopia --disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --target=arm-linux --host=arm-linux --enable-video-fbcon make make install 看情况改变prefix目录和各种选项。make install之后便在prefix目录下生成所需的动态库和include头文件等等。 二、jrtp的编译 编译rtp库要先编译jthread库,然后在编译jrtp库。我使用的是jthread-1.2.1.tar.gz jrtplib-3.7.1.tar.gz。 1. 进入jthread-1. 2.1 ./configure -host=arm-linux -prefix=/weili/jthread/ make make install 这样jthread库就安装在了/weili/jthread/lib下面了 libjthread.so 2.进入jrtplib- 3.7.1 ./configure --host=arm-linux -prefix=/weili/jrtp/

hadoop20集群搭建详解

hadoop2.2.0集群搭建 PS:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装 hadoop-2.2.0就需要重新在64操作系统上重新编译 1.准备工作:(参考伪分布式搭建) 1.1修改Linux主机名 1.2修改IP 1.3修改主机名和IP的映射关系 1.4关闭防火墙 1.5ssh免登陆 1.6.安装JDK,配置环境变量等 2.集群规划: PS: 在hadoop2.0中通常由两个NameNode组成,一个处于active

状态, 另一个处于standby状态。Active NameNode对外提供服务, 而Standby NameNode则不对外提供服务,仅同步active namenode 的状态,以便能够在它失败时快速进行切换。 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS, QJM。这里我们使用简单的QJM。在该方案中,另一种是 主备NameNode之间通过一组JournalNode同步元数据信息, 一条数据只要成功写入多数JournalNode即认为写入成功。JournalNode 通常配置奇数个 这里还配置了一个zookeeper集群,用于ZKFC Active (DFSZKFailoverController)故障转移,当 NameNode挂 掉了,会自动切换Standby NameNode为standby状态3.安装步骤: 3.1.安装配置zooekeeper集群 解压3.1.1 tar -zxvf zookeeper-3.4.5.tar.gz -C /cloud/

ffmpeg移植Android方法以及常见问题汇总

ffmpeg移植Android方法以及常见问题汇总: 1.在ffmpeg官网下载源码包,比如ffmpeg- 2.3。在ffmpeg目录下增加Android.mk 和av. mk config.sh三个文件。 2.config.sh用于配置ffmpeg环境脚本,可键入 #!/bin/sh PREBUILT=...android-ndk-r7b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/lin ux-x86 PLATFORM=...android-ndk-r7b/platforms/android-14/arch-arm export TMPDIR=.../ tmp ./configure --target-os=linux \ --arch=arm \ --enable-cross-compile \ --cc=$PREBUILT/bin/arm-linux-androideabi-gcc-4.4.3 \ --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \ --nm=$PREBUILT/bin/arm-linux-androideabi-nm \ --extra-cflags="-fPIC -DANDROID" \ --enable-static \ --disable-shared \ --disable-asm \ --disable-yasm \ --extra-ldflags="-Wl,-T,$PREBUILT/arm-linux-androideabi/lib/ldscripts/armelf_li nux_eabi.x -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib $PRE BUILT/lib/gcc/arm-linux-androideabi/4.4.3/crtbegin.o $PREBUILT/lib/gcc/arm-linu x-androideabi/4.4.3/crtend.o -lc -lm -ldl" PREBUILT、PLATFORM、TMPDIR是需要修改的,配置自己的ndk路径,通常这一步出错概率极高。TMPDIR路径一定要存在且可以访问。 常见错误: arm-linux-androideabi-gcc is unable to create an executable file,一般是tmp文件没有设置。 Unknown C compiler /toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin / arm-linux-androideabi-gcc,一般是NDK配置错误。 ./config.sh: line 8: --arch: command not found,./configure每一个参数后的转行符号\,注意后面不要有空格符,另外也有可能是字符格式错误,要转为unix,在vim里 :se t ff=unix保存退出。 --cc、--cross-prefix、--nm、--extra-ldflags注意配置路径要正确,否则脚本执行失败。

educoder平台hadoop开发环境搭建

《一》配置开发环境- JavaJDK的配置 mkdir /app 回车 cd /opt 回车 ll 回车 tar -zxvf jdk-8u171-linux-x64.tar.gz 回车 mv jdk1.8.0_171/ /app 回车 vim /etc/profile 在最低下按i复制粘贴下面代码 JAVA_HOME=/app/jdk1.8.0_171 CLASSPATH=.:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH 退出wq source /etc/profile 回车 java -version 测评 *******************************************************************************《二》配置开发环境- Hadoop安装与伪分布式集群搭建 cd /opt 回车 ls 回车 echo $JAVA_HOME 回车 ls /app 回车 ls 回车 mkdir /app 回车 cp * /app 回车 cd /app 回车 ls 回车 tar -zxvf hadoop-3.1.0.tar.gz

ls tar -zxvf jdk-8u171-linux-x64.tar.gz 回车 ls 回车 mv hadoop-3.1.0 hadoop3.1 回车 cd jdk1.8.0_171/ 回车 pwd 回车 vim /etc/profile 最底下按i复制 export JAVA_HOME=/app/jdk1.8.0_171 export HADOOP_HOME=/app/hadoop3.1 export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH 退出wq source /etc/profile 回车 java -version 回车 cd /app 回车 ssh-keygen -t rsa -P '' 按回车 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 回车 chmod 600 ~/.ssh/authorized_keys 回车 vim /etc/ssh/sshd_config 找到#AuthorizedKeysFile %h/.ssh/authorized_keys把#删除 退出wq cd /app/hadoop3.1/etc/hadoop/ 回车 vim hadoop-env.sh 找到# JAVA_HOME=/usr/java/testing hdfs dfs -ls这一行按i在最后面回车,添加下面代码:export JAVA_HOME=/app/jdk1.8.0_171 退出wq vim yarn-env.sh 最底下按i回车 export JAVA_HOME=/app/jdk1.8.0_171 退出wq ————————1———————————————————————————————

相关主题
文本预览
相关文档 最新文档