ubuntu下编译ffmpeg+SDL+ffplay提取motion vector

编译ffmpeg:

第一步:

从官网http://ffmpeg.org/下载最新版本.

解压tar -xjvf ffmpeg-3.3.1.tar.bz2
进入目录cd ffmpeg-3.3.1

第二步:

从http://yasm.tortall.net/Download.html下载yasm
tar -xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make
make install

第三步:

回到ffmpeg目录中
./configure --enable-shared --prefix=/你想让他编译以后在哪里/ffmpeg
make
make install
编译为动态库时的问题:
/usr/bin/ld: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S against `av_destruct_packet‘ can not be used when making a shared object; recompile with -fPIC
修改方法:
./configure --enable-pic && make[默认编译安装在/usr/local/下

测试:

1.进入/usr/local/ffmpeg/bin下,输入./ffmpeg查看安装情况

2.使用ffmpeg编译c文件:

  gcc -o 可执行文件名 待编译文件名.c -L../lib/ -lavcodec -lavdevice -lavfilter -lavformat -lavutil

编译使用ffmpeg提取motion vector

1.编译安装ffmpeg;

2.使用pkg-config --cflags --libs opencv查找编译文件需要的opencv链接库,修改objects.mk和subdir.mk文件,然后make即可;

3.或者使用opencv的cmakefile进行编译:

具体内容:[注意每行之间不能有空格,直接回车]
PROJECT(mpegflow)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
FIND_PACKAGE( OpenCV REQUIRED )
# Declare the target (an executable)
ADD_EXECUTABLE(mpegflow  draw_flow.cpp)
TARGET_LINK_LIBRARIES(mpegflow ${OpenCV_LIBS})
 然后cmake.,再执行make即可。

4.使用ffmpeg库编译extract_mvs文件:

  gcc -o extract_mvs /ffmpeg-2.8/doc/samples/extract_mvs.c -L../lib/ -lavcodec -lavdevice -lavfilter -lavformat -lavutil

安装ffmpeg加载sdl,编译运行ffplay

1.安装ffmpeg

2.安装SDL:

sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev

检测SDL装上了没有:sdl-config --exec-prefix --version --cflag]

ffplay进行motion vector可视化:

ffplay -debug vis_mb_type test.mp4 ffplay -vismv pf test.mp4

原文地址:https://www.cnblogs.com/zzq-123456/p/9116064.html

时间: 2024-10-01 03:23:43

ubuntu下编译ffmpeg+SDL+ffplay提取motion vector的相关文章

ubuntu下编译ffmpeg并用eclipse调试

一.下载ffnpeg源码 下载地址:http://ffmpeg.org/download.html 二.解决版本问题 可能之前你编译过ffmpeg,或者装过相关的库,那都要先卸载掉,否则用的时候会报一堆版本的错误. 卸载的具体做法: sudo apt-get remove ffmpeg sudo apt-get remove libavcodec52 libavdevice52 libavfilter0 libavformat52 libavutil49 libpostproc sudo apt

[笔记] Ubuntu下编译ffmpeg+openh264+x264

[下载代码] - ffmpeg: git clone git://source.ffmpeg.org/ffmpeg.git - openh264: git clone https://github.com/cisco/openh264.git - x264: git clone git://git.videolan.org/x264.git [编译 openh264] make sudo make install [编译 x264] ./configure --enable-shared mak

VoIP应用在Ubuntu 14.04下编译FFmpeg libX264及PJSIP

PJSIP是一个开源的SIP协议栈.它支持多种SIP的扩展功能,可说算是最目前流行的SIP协议栈之一了.  它实现了SIP.SDP.RTP.STUN.TURN和ICE.PJSIP作为基于SIP的一个多媒体通信框架提供了非常清晰的API,以及NAT穿越的功能.PJSIP具有非常好的移植性,几乎支持现今所有系统:从桌面系统.嵌入式系统到智能手机.PJSIP同时支持语音.视频.状态呈现和即时通讯. PJSIP很强大,很多VOIP语音视频通话应用都用它… 下面来说说如何在ubuntu下进行编译 文章目录

在Windows下编译FFmpeg详细说明

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU For Windows.它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC产生 Windows32 程序. 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境. 所以

Ubuntu下编译安装QEMU

Ubuntu下编译安装QEMU 由于环境需求,今天在ubuntu14.04的环境下手动编译安装了QEMU2.1.2. QEMU下载地址:http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2 具体下载及解压步骤这里就不在赘述了,主要就是说下环境准备的一些依赖包,编译QEMU最重要的就是gcc,所以我们要先把gcc安装上. [email protected]:~# apt-get install gcc-3.4 cpp-3.4 安装QEMU

win下编译ffmpeg库,Compile and build ffmpeg library and dll on Windows x64( 正版)

转载请注明:来自EricKing,thanks 从没想到编一个library这么坑爹,再次提醒各位百度的东西只能参考,想节约时间还是要到官网上去查看docum.不废话了,开始详细过程: ——>1.搭建Win下的GCC编译环境(因为win下vs不支持ffmpeg的compile 和build,官网上也有说这一点) ——>2.下载latest ffmpeg source(后面附官网地址),想办法将编译后的文件做成dll,这是win下编程调试的核心 (这里就用到vs下的一个vc的bash文件叫vcv

在Ubuntu下编译Assimp库

在Ubuntu下编译Assimp库 如何在Ubuntu下编译Assimp库?这是我以前编译成功后做的笔记,供参考. 1.去下面的网站去下载Assimp库: http://assimp.sourceforge.net/ 2.安装cmake,似乎Assimp库只能通过cmake和vs工程文件进行构建,普通的makfile是通过它来产生的.Ubuntu下使用sudo apt-get install cmake.然后通过cmake --version查看cmake的版本,我cmake版本是2.8.11.

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

Linux下编译ffmpeg

Linux下编译ffmpeg太简单了. 1.下载yasm 1-1. 下载地址:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 1-2. 解压缩: tar zxvf yasm-1.3.0.tar.gz 1-3. cd yasm-1.3.0进入 1-4. 命令行执行./configure 检测环境并生成Makefile文件 1-5. 执行make编译,sudo make install安装 2. 下载ffmpeg 2-1