一.MacOS Mojave 10.14 64位系统开发环境配置

1.安装brew

brew是Mac下的一个包管理工具,作用类似于centos下的 yum、ubuntu下的apt-get

brew可以用一条命令,就可以在mac上安装、卸载、更新各种软件包,因为brew的使用方便,如今已成为使用mac电脑的程序员的必备工具。

先查看自己电脑上安装没:

brew -v

如果没安装,则安装:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

需要注意的是,安装时不用获取root权限,否则会失败。

2.编译SoundTouch version:2.2

brew install automake autoconf libtool

./bootstrap

./configure --enable-integer-samples

make

make install

如果一直提示brew updating,说明brew版本太旧了,执行步骤1

3..编译faac version:1.30

./bootstrap

./configure

make

make install

4.编译SDL2 version:2.0.12

./configure

make

make install

5.编译ffmpeg version:4.3.1

5.1.安装yasm

据说安装了可以加快编译速度,指令如下:

brew install yasm

5.2.安装依赖库

brew install pkg-config

brew install fdk-aac

brew  install x264

brew  install x265

5.3开始编译

./configure --prefix=/usr/local --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-sdl2 --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-videotoolbox --cc=clang

make

make install

这样编译后,ffmpeg、ffplay和ffprobe可以正常使用

二.Ubuntu 16.04.6 64位系统开发环境配置

1.编译SDL2 version:2.0.12

1.1.先安装依赖库

apt-get install libasound2-dev libpulse-dev

如果没安装依赖库,编译后的SDL_OpenAudio会失败

1.2.开始编译

./configure

sudo make

sudo make install

2.编译SoundTouch version:2.2

可参考源码目录中的README.html

sudo apt-get install automake autoconf libtool build-essential

./bootstrap

./configure --enable-integer-samples

sudo make

sudo make install

注意:我在编译的时候出现FLT_MAX无法识别,这个宏定义在float.h中,不知道为啥找不到。输入如下指令,

cpp -dM <<

结果如下图所示,可以找到__FLT_MAX__,所以我把源码中的FLT_MAX改成__FLT_MAX__,编译通过。

3.编译faac version:1.30

./bootstrap

./configure

sudo make

sudo make install

4.编译ffmpeg version:4.3.1

4.1.安装yasm

据说安装了可以加快编译速度,指令如下:

sudo apt-get install yasm

4.2.安装依赖库

sudo apt-get install libfdk-aac-dev

sudo apt-get install libx264-dev

sudo apt-get install libx265-dev

4.3开始编译

./configure --prefix=/usr/local --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-sdl2 --enable-libx264 --enable-libx265 --enable-libfdk-aac

sudo make

sudo make install

cp /usr/local/bin/ffmpeg /usr/bin

cp /usr/local/bin/ffplay /usr/bin

cp /usr/local/bin/ffprobe /usr/bin

这样编译后,ffmpeg、ffplay和ffprobe可以正常使用

5.编译源码

live555库和QHRtpPlaySDK库会编译到源码目录中的out文件夹中,需要将该文件夹添加到环境变量方法如下:

对于安装的动态链接库,已经存在于电脑上的某个文件夹下,假设它叫xxx.so,但是没有找到,也就是说用下面的命令没有任何显示

ldconfig -p | grep xxx.so

这时候可以将xxx.so所在的文件夹路径加入 /etc/ld.so.conf 中,然后执行 sudo ldconfig 使得修改生效,然后再执行上面的命令应该可以找到这个动态链接库。

参考链接:https://blog.csdn.net/annjeff/article/details/105748428

三.Windows 10 开发环境配置

这里么啥好说的,FFmpeg和SDL的windows版本都可以去官网下载,faac和soundtouch中都提供了.ln工程文件,用Visual studio打开后可直接编译通过。

需要注意的是,编译soundtouch时可以选择采样格式,我选择的是整形,如下图所示。

live555库安装_基于live555的rtsp播放器:开发环境配置相关推荐

  1. nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装

    dnnmmp 基于docker的nodejs.php开发环境 (docker,nodejs,php,nginx,mongo,mysql,redis) Dnnmmp包含以下组合 dnm(Docker + ...

  2. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  3. RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ...

  4. Android平台RTMP/RTSP播放器开发系列之解码和绘制

    本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...

  5. python及环境安装_一、什么是python及开发环境安装

    1.python是一种解释性语言,不需要经过编译即可执行.也即每输入一句话系统就能解释执行,但是需要python的解释器.同时他是一个跨平台的语言,能在不同的操作系统上运行,ubuntu上预安装了py ...

  6. java音乐播放器的应用价值,基于JAVA的音乐播放器开发.docx

    摘要:从工业革命以来,科技日新月异,计算机网络现在已经慢慢融入我们的平常生活和工作,计算机网络作为信息传播的一大重要组成工具,可以这样说我们以往单一的生活方式在悄悄的被网络改变,正是因如此,网络变成了 ...

  7. python音乐编程_基于python实现音乐播放器代码实例

    核心播放模块(pygame内核) import time import pygame import easygui as gui file = r'D:\CloudMusic\G.E.M.邓紫棋,艾热 ...

  8. python 循环播放音乐_基于python实现音乐播放器代码实例

    核心播放模块(pygame内核) import time import pygame import easygui as gui file = r'D:\CloudMusic\G.E.M.邓紫棋,艾热 ...

  9. java 设计音乐播放器设计与实现_基于java的音乐播放器的设计(源代码+实验报告)...

    主类MUSICPLAYER类: import java.util.*; import javax.swing.JSlider; import java.awt.BorderLayout; import ...

最新文章

  1. Learn Jenkins the hard way (0) - Jenkins的罪与罚
  2. Mac搭建Git服务器—开启SSH
  3. reposurgeon 2.15 发布
  4. web api接口开发实例_C# 物联网开发API接口系列(4)
  5. [转]Hamcrest使用方法实例
  6. 用C#+Selenium+ChromeDriver 爬取网页,完美模拟真实的用户浏览行为
  7. java 单文件上传_java – JIRA中的单个文件上传
  8. Linux之软件安装rpm、yum/dnf、源码(安装)
  9. 飞腾腾锐 D2000 荣获数字中国“十大硬核科技”奖
  10. win10 原版无捆绑系统下载
  11. PS后期一键调出紫色梦幻红外线照片效果
  12. MFC API 设置Excel单元格格式
  13. 批判性思维-思维遮蔽性
  14. 头条号小程序制作分享
  15. Mysql查询不为null值和字段为null 阿星小栈
  16. 让学前端不再害怕英语单词(三)
  17. 基于FPGA 的TF卡 UHS-I 方式存储
  18. Scanner的基本用法
  19. keras指定gpu_Keras多GPU训练指南
  20. (附源码)计算机毕业设计SSM基于web的企业人事管理系统

热门文章

  1. 30句感悟人生的格言名言
  2. 英文写作:讨论的中文逻辑是什么?讨论怎么写?
  3. linux 自己做桌面,自己动手量身定做Linux系统的桌面
  4. WordPress能承载多大的数据?文章十万百万能承载吗?
  5. JMH基准测试工具 (一):介绍
  6. 自定义控件其实很简单2/12
  7. 记录解决问题--ie闪退
  8. cocos creator 3D学习(六)光照+阴影
  9. 四. 常用EMC防护器件选型学习笔记
  10. 线程让步——Thread.yield()