热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FFmpeg第一次编译

我们的生活离不开多媒体技术,智能电视,互联网视频,安防监控,播放器,媒体中心,机器人视觉,航拍,移动直播,视频会议…而这些细分领域,到处都是FFmpeg的身影。看看它的介绍:FFm

我们的生活离不开多媒体技术,智能电视,互联网视频,安防监控,播放器,媒体中心,机器人视觉,航拍,移动直播,视频会议… 而这些细分领域,到处都是FFmpeg的身影。看看它的介绍:

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由Fabrice Bellard发起的,现在由Michael Niedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。

自己动手,丰衣足食!
补充一点:

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)
configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较乱。

编译环境:
Ubuntu 14.04.4 LTS
交叉编译工具链:arm-linux-gcc-4.4.3
用命令arm-linux-gcc -v
可以查看版本信息

《FFmpeg第一次编译》

1、下载ffmpeg

官网:
http://www.ffmpeg.org/download.html

github:
https://github.com/FFmpeg/FFmpeg

目前最新版本是ffmpeg-3.0.2

下载好后解压到某个目录

2、在shell下进入ffmpeg目录下

首先执行configure配置文件,它是一个配置脚本

./configure –enable-shared –disable-yasm –prefix=/usr/local/ffmpeg

其中/usr/local/ffmpeg指定了编译结果的输出路径

3、开始 编译
第一步make
第二部make install
实际编译 会 耗点时间 ,根据自己的cpu 核数 可以 并发几个线程同时编译,用make -j4或者make -j8
代替make执行
4、安装之后在/usr/local/ffmpeg会看到有4个目录

《FFmpeg第一次编译》

bin 下就是可执行文件了

《FFmpeg第一次编译》

lib 静态,动态链接库目录

此时编译工作也算顺利进行了,但是要移植到android平台上还没有这么容易。
不过此时此刻可以跑ffmpeg命令是没有问题的,

《FFmpeg第一次编译》

单独运行ffmpeg会出现提示,众所阿周知ffmpeg是用来转码的,所以测试要加上参数信息.

《FFmpeg第一次编译》 Screenshot from 2016-05-22 12:08:34.png

《FFmpeg第一次编译》 Screenshot from 2016-05-22 12:10:15.png

上面我加了一个-i命令,将mp4格式的视频转成了mkv格式.

《FFmpeg第一次编译》 Screenshot from 2016-05-22 12:13:27.png

再看一个好玩的命令:

ffmpeg -i video.mp4 image%d.jpg
将视频分解成图片序列

《FFmpeg第一次编译》 Screenshot from 2016-05-22 15:44:51.png

从输出结果可以看到有552帧图像,所以分解成552张图片.

《FFmpeg第一次编译》 Screenshot from 2016-05-22 15:47:38.png

ok,接下来要分析ffmpeg.c文件,从入口main函数开始。赶紧把源码阅读利器Source Insight装上~~~


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
jieyang6888_130
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有