linux下安装FFMPEG全纪录
FFMPEG的移植与使用
FFMPEG的移植与使用FFmpeg是一个自由软件,可以进行音频和视频的录制、转换和流传输。
它提供了许多功能丰富的库和命令行工具,可以在各种平台上使用。
本文将介绍如何进行FFmpeg的移植和使用。
首先,我们需要了解FFmpeg的移植过程。
FFmpeg可以在多个平台上移植,包括Windows、macOS、Linux和Android等。
移植过程可以分为以下几个步骤:2. 配置编译环境:根据所使用的平台选择合适的编译环境,例如Windows下可以使用MinGW或MSYS23. 配置编译选项:进入源代码目录,运行`./configure`命令来配置编译选项。
可以根据需求选择需要的库和功能,例如支持的编解码器、格式和协议等。
4. 编译和安装:运行`make`命令编译源代码,根据所使用的平台可能还需要运行其他命令进行安装。
完成了FFmpeg的移植后,我们可以开始使用它进行音频和视频处理。
FFmpeg提供了许多命令行工具,可以进行各种操作,例如转码、剪切、合并和抽取等。
以下是一些常用的FFmpeg命令示例:1.转码:将一个视频文件转换为另一种格式。
`ffmpeg -i input.mp4 output.avi`2.剪切:截取视频的一部分。
`ffmpeg -ss 00:00:10 -i input.mp4 -t 00:00:20 output.mp4`3.合并:将多个视频文件合并为一个。
4.抽取音频:从视频中抽取音频文件。
`ffmpeg -i input.mp4 -vn output.mp3`5.转换音频格式:将音频文件转换为另一种格式。
`ffmpeg -i input.mp3 output.wav`通过使用这些命令和其他一些选项,我们可以实现各种音频和视频处理需求。
FFmpeg还提供了强大的API,可以在自己的应用程序中使用。
API提供了各种功能和选项,可以进行更复杂的音视频处理。
总结起来,FFmpeg是一个功能强大的音视频处理工具,可以进行音频和视频的录制、转换和流传输等。
ffmpeg二进制文件用法 -回复
ffmpeg二进制文件用法-回复FFmpeg是一个强大的开源多媒体框架,可以用于多种音频和视频处理任务。
在本文中,我们将详细介绍FFmpeg二进制文件的用法,并提供一步一步的指南帮助您正确地使用FFmpeg。
第一步:安装FFmpeg二进制文件要开始使用FFmpeg,您需要从官方网站(- 对于Windows用户,您可以下载一个静态编译版本的FFmpeg。
这个版本包含了所有必要的库和依赖项,可以直接运行,无需进一步配置。
- 对于Mac用户,您可以使用Homebrew作为包管理器来安装FFmpeg。
只需在终端中运行以下命令:brew install ffmpeg- 对于Linux用户,您可以使用包管理器(如apt、yum)或者从源代码编译来安装FFmpeg。
使用包管理器,只需在终端中运行适当的安装命令,例如:apt-get install ffmpeg。
如果您选择从源代码编译,请从FFmpeg 官方网站下载最新的源代码,并按照官方指南进行编译和安装。
第二步:熟悉FFmpeg基本用法一旦您成功安装了FFmpeg二进制文件,您就可以开始使用它来进行音频和视频处理任务。
FFmpeg的命令行界面相当强大且灵活,可以实现各种操作。
下面是一些常见的FFmpeg用法示例:- 转换媒体格式:您可以使用FFmpeg将一个媒体文件转换为另一种格式。
例如,要将一个MP4文件转换为AVI文件,可以使用以下命令:ffmpeg -i input.mp4 output.avi- 裁剪和拼接视频:您可以使用FFmpeg裁剪和拼接视频片段。
例如,要从一个视频中提取前10秒的片段,可以使用以下命令:ffmpeg -i input.mp4 -ss 00:00:00 -t 00:00:10 output.mp4- 调整音频和视频质量:您可以使用FFmpeg调整音频和视频的质量参数。
例如,要将一个视频的比特率设置为5000 kbps,可以使用以下命令:ffmpeg -i input.mp4 -b:v 5000k output.mp4- 添加字幕和水印:您可以使用FFmpeg添加字幕和水印到视频中。
FFMPEG完美入门资料
3.2.2 相关数据结构介绍 ............................................................................................. 18 3.3 D EMUXER 和 MUXER 模块分析 .................................................................................. 23 3.3.1 概述 .................................................................................................................... 23 3.3.2 相关数据结构介绍 ............................................................................................. 23 3.4 D ECODER /ENCODER 模块 ........................................................................................... 26 3.4.1 概述 .................................................................................................................... 26 3.4.2 相关数据结构的初始化 ..................................................................................... 26 3.5 其他重要数据结构的初始化 .................................................................................... 27 3.5.1 AVStream ............................................................................................................. 27 3.5.2 AVInputStream/ AVOutputStream ......................................................................... 28 3.5.3 AVPacket ............................................................................................................. 28 4.FFMPEG 裁剪说明 ......................................................................................................... 28 4.1 CONFIGURE 参数 ........................................................................................................ 28 4.1.1 通用选项 ............................................................................................................ 28 4.1.2 基本选项介绍 .................................................................................................... 32 4.2 FF MPEG 裁剪优化实例 .............................................................................................. 34 4.3 裁剪优化前后文件比较 ............................................................................................ 35
Linux源码安装ffmpeg
cd /usr/local/src/a52dec-0.7.4/
./configure --enable-shared
make && make install
##### 如果出现以下错误提示 #####
wget https:///project/opencore-amr/opencore-amr/opencore-amr-0.1.5.tar.gz
tar -zxvf opencore-amr-0.1.5.tar.gz -C /usr/local/src/
cd /usr/local/src/lame-3.99.5/
./configure --enable-shared
make && make install
cd -
二、安装libogg
#/downls/ogg/libogg-1.3.2.tar.gz
yum install unzip patch -y
tar -jxvf amrnb-11.0.0.0.tar.bz2 -C /usr/local/src/
cp 26104-610.zip /usr/local/src/amrnb-11.0.0.0/
cd /usr/local/src/amrnb-11.0.0.0/
Linux下ffmpeg的完整安装
首先要安装各种解码器
一、安装lame(MP3音频编码器)
wget https:///project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -zxvf lame-3.99.5.tar.gz -C /usr/local/src/
linux编译ffmpeg支持x264,x265
linux 编译ffmpeg 支持x264, x2651. 前言本教程涉及的ffmpeg, x264, x2652. 环境依赖2.1 删除系统中安装的ffmpeg等库[plain] view plain copy sudo apt-get --purge remove ffmpeg mplayer x264 x2652.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-devpkg-config texi2html zlib1g-dev注: 服务器版本可忽略libsdl1.2-dev libva-dev libvdpau-dev libxcb1-devlibxcb-shm0-dev libxcb-xfixes0-dev2.3 下载源代码(1) ffmpeg[plain] view plain copy git clonegit:///ffmpeg.git ffmpeg(2) x264[plain] view plain copy <pre name="code"class="plain"><pre name="code" class="plain">git clone git:///x264.git (3) x265[plain] view plain copy hg clonehttps:///multicoreware/x265(4) yasmyasm 是x86平台的一个汇编优化器, 能够加快ffmpegx264的编译[plain] view plain copy wget/projects/yasm/releases/yasm-1.3.0.ta r.gz tar xzvf yasm-1.3.0.tar.gz3. 编译3.1 配置编译输出目录[plain] view plain copy exportFFMPEG_PATH="YOUR_PATH" exportPATH="$FFMPEG_PATH/bin:$PATH" 例如我输出目录为$HOME/ffmpeg_2.6.3/build_out那么:[plain] view plain copy exportFFMPEG_PATH="$HOME/ffmpeg_2.6.3/build_out"3.1 yasm[plain] view plain copy cd yasm-1.3.0 ./configure--prefix="$HOME/" make make install或者安装已有的库(yasm version ≥ 1.3.0)[plain] view plain copy sudo apt-get install yasm 3.2 x264 在配置ffmpeg config时需要加入--enable-gpl和--enable-libx264[plain] view plain copy cd x264* ./configure--prefix="$FFMPEG_PATH" --enable-shared--enable-static make -j4 make install make clean 或者安装已有的库(yasm version ≥ 1.3.0)[plain] view plain copy sudo apt-get install libx264-dev 3.3 x265[plain] view plain copy cd x265/build/linux cmake -G "Unix Makefiles"-DCMAKE_INSTALL_PREFIX="$FFMPEG_PATH"-DENABLE_SHARED:bool=off ../../source make -j4 make install make clean </tt></span>3.4 aac在配置ffmpeg config时需要加入--enable-libfdk_aac(如果开启--enable-gpl同时需要开启--enable-nonfree ) [plain] view plain copyPKG_CONFIG_PATH="$FFMPEG_PATH/lib/pkgconfig" ./ configure \ --prefix="$FFMPEG_PATH" \--pkg-config-flags="--static" \--extra-cflags="-I$FFMPEG_PATH/include" \--extra-ldflags="-L$FFMPEG_PATH/lib" \ --enable-gpl \ --enable-libass \ --enable-libfaac \--enable-libfreetype \ --enable-libmp3lame \--enable-libtheora \ --enable-libvorbis \--enable-libx264 \ --enable-libx265 \--enable-nonfree \ --enable-shared \--enable-postproc \ --enable-x11grab \--enable-bzlib \ --enable-libxvid \ --enable-zlib \--disable-debug4. 将ffmpeg添加到环境变量4.1 将ffmpeg添加到环境变量[plain] view plain copy vim ~/.bashrc 在最后添加[plain] view plain copy exportFFMPEG_PATH="/home/guohe/workspace/ffmpeg_2.6.3/ build_out" export PATH="$FFMPEG_PATH/bin:$PATH"4.2 添加链接库编译完成之后调用ffmpeg 会出现errorwhile loading shared libraries: xxx解决这种问题有2中方法:(1) 修改/etc/ld.so.conf[plain] view plain copy vim /etc/ld.so.conf在最后添加[plain] view plain copy $FFMPEG_PATH/lib然后执行[plain] view plain copy sudo ldconfig (2) 修改LD_LIBRARY_PATH[plain] view plain copy vim ~/.bashrc 在最后添加[plain] view plain copy exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FFMPEG_P ATH/ib。
ffmpeg安装教程
ffmpeg安装教程1、先装mp3在linux下的包:lame-3.97.tar.gz;tar -xvzf lame-3.97.tar.gz;cd lame-3.97;//(默认是装在/usr/local下);//--prefix=/usr/此参数一定要(便于调用os的其它系统包)//--enable-shared此参数一定要./configure --enable-shared --prefix=/usr/;make;make install;2.下载amr-wb包,解压,编译,安装:tar jxvf amrwb-7.0.0.1.tar.bz2cd amrwb-7.0.0.1./configure --prefix=/usr/localmakesudo make install3.下载amr-nb包,解压,编译,安装:tar jxvf amrnb-6.1.0.4.tar.bz2cd amrnb-6.1.0.4./configure --prefix=/usr/localmakesudo make install4.mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。
这里我们安装faad2和faac就行tar zxvf faad2-2.5.tar.gzcd faad2echo > plugins/Makefile.amecho > plugins/xmms/src/Makefile.amsed -i '/E_B/d' configure.inautoreconf -vif./configure --prefix=/usrmakemake installtar zxvf faac-1.25.tar.gzcd faacsed -i '/[2de].M/d' configure.inecho "AC_OUTPUT(common/Makefile common/mp4v2/Makefile libfaac/Makefile frontend/Makefile include/Makefile Makefile)" >> configure.inautoreconf -vif./configure --prefix=/usrmakemake install5.安装ffmpeg:tar jxvf ffmpeg.tar.gzcp amr_float.zip ffmpeg-0.5/libavcodec/cp amrwb_float.zip ffmpeg-0.5/libavcodeccd ffmpeg-0.5/libavcodec/unzip amrwb_float.zipunzip amr_float.zipcd .../configure --prefix=/usr/local/ffmpeg/ --enable-libmp3lame --enable-libamr_nb--enable-libamr_wb --enable-nonfree --enable-libfaad --enable-libfaac --enable-gpl--enable-pthreads;如果编译出现mv: cannot create regular file `config.h': Permission denied在configure 文件中如下行中出了问题:************************************cmp -s $TMPH config.h &&echo "config.h is unchanged" ||mv -f $TMPH config.h*************************************解决问题:mv -f $TMPH config.h改成cp -f $TMPH config.h,立马见效。
Linux下vlc安装步骤(centos5.5)
Linux 下vlc 安装步骤(centos5.5)一安装环境操作系统:centos5.5VLC 版本:vlc-1.1.0二安装步骤1安装centos5.5安装时尽量将除了qt4 以外的软件包都选择上(由于自带的qt4 版本可能较低,安装高版本的vlc 时会不匹配,所以qt4 最好在装完操作系统以后再安装)。
2安装Iive555(版本:Iive555-latest),方法:①./ge nMakefiles linux②make all3安装ffmpeg(版本:ffmpeg-0.7.1),方法:①./configure --disable-yasm --enable-swscale --enable-postproc --enable-gpl②make③make in stall4安装libdvbpsi(版本:libdvbpsi-0.2.1),方法:①./configure②make③make install5安装fribidi(版本: fribidi-0.19.1), 方法:①./configure②make③make install6安装qt(版本:4.7.4),方法:①./configure --prefix=/home/qiuzy/install/qt4(指明qt 的安装路径,后面设置环境变量会用到)②gmake③gmake install7修改环境变量PKG_CONFIG_PATH,在shell中执行以下命令:exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgc onfig:/home/ qiuzy /install/qt4/lib/pkgconfig8修改/etc/ld.so.co nf文件,添加下面一行:/usr/local/lib 保存后执行ldconfig 命令9 安装其他软件包由于centos中并未提供安装vic所需的部分软件环境,所以还需要安装以下软件包:iibX11-1.3.2 iibxcb-1.4 pthread-stubs-0.3 xcb-proto-1.6 xproto-7.0.13[注]①以上软件包中的部分软件包存在依赖关系,安装时执行con figure的时候,可能会提示找不到另一个软件包,需要在安装这个软件包之前把configure 步骤中提示缺少的所有软件包安装之后,再安装这个软件包。
ffmpeg 6.0使用手册
文章内容:一、介绍ffmpeg是一个广泛使用的开源多媒体工具包,可以用于录制、转换和流化音频和视频。
在本文中,我们将详细介绍ffmpeg 6.0的使用手册,以便读者能够更好地了解和使用这一工具。
二、安装和运行要使用ffmpeg 6.0,首先需要进行安装。
在Linux系统中,可以通过包管理器进行安装;在Windows系统中,可以下载预编译的可执行文件。
安装完成后,可以通过命令行终端运行ffmpeg,进行音视频处理操作。
三、基本命令ffmpeg提供了丰富的命令,可以进行音视频处理、转码、剪辑等操作。
常用的命令包括:- `-i`:指定输入文件- `-c`:指定编解码器- `-f`:指定输出格式- `-ss`:指定起始时间- `-t`:指定持续时间- `filterplex`:复杂过滤器的使用四、高级功能除了基本命令外,ffmpeg还提供了许多高级功能,包括:- 多路转码:可以同时对多个音视频流进行转码处理- 实时流化:可以将音视频实时流化到网络- 视频编辑:可以对视频进行裁剪、拼接、滤镜等操作五、个人观点ffmpeg是一个功能强大、灵活多样的多媒体工具,可以满足各种音视频处理需求。
通过学习和使用ffmpeg 6.0,不仅可以提升音视频处理能力,还可以为个人和企业带来更多的创造和商业机会。
六、总结在本文中,我们详细介绍了ffmpeg 6.0的使用手册,包括安装和运行、基本命令、高级功能等内容。
通过阅读本文,希望读者能够更全面地了解和掌握ffmpeg 6.0,从而在音视频处理领域取得更好的成就。
以上就是我撰写的关于ffmpeg 6.0使用手册的文章。
希望对你有所帮助!七、应用场景ffmpeg 6.0在实际应用中有广泛的场景,包括但不限于以下几个方面:1. 视频编辑和制作:通过ffmpeg可以轻松实现视频的剪辑、拼接、添加滤镜、调整画面亮度、对比度等操作,是视频编辑和制作领域的利器。
2. 音频处理和转换:除了视频处理,ffmpeg也可以用于音频领域,包括音频格式转换、音频剪辑、音频合并等,满足了音频处理的需求。
Linux OpenCV2.4.9源码编译安装
ffmpeg源码编译安装1、复制源代码cd ~mkdir ffmpegcd ffmpeg2、解压tar xjvf ffmpeg-1.2.tar.bz2cd ffmpeg-1.23、配置./configure --enable-shared --prefix=/usr/其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。
--prefix设置的安装目录。
4、编译并安装makemake install5、安装之后在/usr/会看到有三个目录lib 动态链接库位置include 编程要用到头文件bin 执行文件所在的目录6、测试ffmpeg执行bin目录下的ffplay,可以去播放音频或者视频文件。
例如播放1.mp3./ffplay 1.mp3另外,bin目录下还有两个文件:ffmpeg和ffserverffmpeg是一个很好的视频和音频的格式转化工具。
网上有很多它的说明文档。
如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。
安装openv需要的其他软件sudo apt-get install libgtk2.0-devsudo apt-get install pkg-configOpenCV2.4.9源码编译安装1、复制载源码cd ~mkdir opencvcd opencv2、解压文件unzip opencv-2.4.9/cd opencv-2.4.9/3、检查软件配置cmake CMakeLists.txt完成后在最后打印一下信息:-- Configuring done-- Generating done-- Build files have been written to: /opt/opencv-2.4.94、编译OpenCVmake5、安装OpenCV用root用户执行sudo make install6、更新动态连接库用root用户执行下面的操作sudo vim /etc/ld.so.conf在该文件中添加路径/usr/local/lib然後运行命令:sudo ldconfig将/usr/local/lib/pkgconfig中的opencv.pc 拷贝到/usr/lib/pkgconfig中(如果不做这步,根本编译不起) 命令如下:sudo cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig7、编译opencv程序的方法以编译test.c文件为例子(因为highgui中采用了c++,所以一定要用g++编译才可以)g++ test.cpp `pkg-config --cflags --libs opencv`。
ffmpeg编译、使用与常见问题
FFMPEG编译、使用与常见问题一. Linux下FFMPEG的安装与测试 (1)二. FFMPEG编译中出现的一些问题与解决方法 (4)三. FFMpeg简介及命令选项参数 (8)四. FFMPEG与x264的编译 (13)一.Linux下FFMPEG的安装与测试a. 先装mp3在linux下的包:lame-3.97.tar.gz;tar -xvzf lame-3.97.tar.gz;cd lame-3.97;./configure --enable-shared --prefix=/usr/;make;make install;b. 支持Ogg Vorbis:as4自带相应的rpm包,你可以安装一下如下rpm包:libvorbis, libvorbis-devel,libogg, libogg-devel 一般情况下as4都会安装c. 支持xvid x264,现在最流行的两种高质量的压缩格式xvid的编译安装wget /downloads/xvidcore-1.1.0.tar.gztar zvxf xvidcore-1.1.0.tar.gzcd xvidcore-1.1.2/build/generic./configure --prefix=/usr --enable-sharedmakemake installx264的获取用git:git clone git:///x264.gitcd x264./configure --prefix=/usr --enable-sharedmakemake install3d. AC3和dts编码的支持as4系统似乎已经支持ac3编码,编译的时候只要加--enable-a52 --enable-gpl参数就行libdts编译参数tar zxvf libdts-0.0.2.tar.gz./configure --prefix=/usrmakemake installe. mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。
ffmpeg 源码编译
ffmpeg 源码编译FFmpeg是一种开源的跨平台音视频处理工具,可以对音视频进行转换、编辑、截取、合并等操作。
如果我们需要定制FFmpeg的功能,就需要对源码进行编译。
下面是FFmpeg源码编译的流程:1、获取源码FFmpeg源码可以从官网上下载,也可以通过Git Clone命令从Github上获取。
选择下载哪个版本的源码,取决于需要实现的具体功能。
2、安装编译工具编译FFmpeg需要一些编译工具的支持,如yasm、gcc、make等。
在Linux系统中,可以通过以下命令安装:sudo apt-get updatesudo apt-get install build-essential yasm3、配置编译选项在源码根目录下执行以下命令,配置编译选项:./configure --enable-shared其中,--enable-shared选项表示生成共享库。
如果需要开启某些功能,可以在configure命令中添加对应的选项,如:--enable-libmp3lame 表示支持LAME MP3编码器--enable-libfreetype 表示支持Freetype字体库--enable-libx264 表示支持x264编码器4、编译源码make编译过程可能会持续一段时间,取决于源码的大小和计算机性能。
如果出现编译错误,需要根据错误提示进行调试。
5、安装FFmpeg在编译完成后,执行以下命令安装FFmpeg:sudo make installffmpeg -version如果出现FFmpeg版本号,则表示安装成功。
总结通过以上几个步骤,就可以成功编译安装FFmpeg了。
当然,编译过程中可能会出现各种问题,需要仔细查看错误信息,并根据具体情况进行调试。
python使用ffmpeg指令
python使用ffmpeg指令Python是一种高级编程语言,可以通过它来使用FFmpeg指令进行音视频处理。
FFmpeg是一个跨平台的开源音视频处理工具,支持多种格式的音视频文件的编解码、转码、剪辑等操作。
下文将介绍如何在Python中使用FFmpeg指令。
1. 安装FFmpeg在使用FFmpeg指令之前,需要先安装FFmpeg。
可以通过以下命令在Linux系统中安装FFmpeg:sudo apt-get install ffmpeg在Windows系统中,需要从FFmpeg官网下载可执行文件,然后将FFmpeg添加到系统环境变量中。
2. 导入subprocess模块在Python中使用FFmpeg指令需要导入subprocess模块。
subprocess模块可以用来执行系统命令,并且可以获得命令的输出和返回值。
import subprocess3. 使用FFmpeg指令下面是一些常用的FFmpeg指令及其说明:(1)转换音视频格式将MP4格式的视频转换为AVI格式:subprocess.call(['ffmpeg', '-i', 'input.mp4','output.avi'])(2)剪辑视频将视频的前10秒剪辑出来:subprocess.call(['ffmpeg', '-i', 'input.mp4', '-ss', '00:00:00', '-t', '00:00:10', '-c', 'copy', 'output.mp4']) (3)提取音频将视频中的音频提取出来:subprocess.call(['ffmpeg', '-i', 'input.mp4', '-vn', '-acodec', 'copy', 'output.aac'])(4)添加水印在视频的左上角添加水印:subprocess.call(['ffmpeg', '-i', 'input.mp4', '-i','watermark.png', '-filter_complex', 'overlay=10:10','output.mp4'])(5)调整视频分辨率将视频的分辨率调整为720x480:subprocess.call(['ffmpeg', '-i', 'input.mp4', '-s','720x480', '-c', 'copy', 'output.mp4'])4. 总结通过Python中的subprocess模块,可以轻松使用FFmpeg指令进行音视频处理。
Opencv2.0移植ARM全过程
2. 配置选项: $ ./configure --prefix=/home/liuxiu/opencv-arm --enable-pic –enable-shared --cross-prefix=armlinux- --host=arm-linux --extra-cflags=-I/home/liuxiu/opencv-arm/include --extra-ldflags=L/home/liuxiu/opencv-arm/lib --enable-shared --enable-pthread –disable-asm 出现 ./version.sh: 行 2: git: 未找到命令 Platform: ARM System: LINUX asm: no avs input: no lavf input: no ffms input: no mp4 output: no pthread: yes debug: no gprof: no PIC: yes shared: yes visualize: no
二、交叉编译 libjpeg
版本 jpegsrc.v6b,这些库都可以从官网上下载的。
1. 解压进入目录
2. 配置选项: $./configure –prefix=/home/liuxiu/opencv-arm –exec-prefix=/home/liuxiu/opencv-arm –-enableshared --enable-static 下面分别介绍这几个参数的作用: --prefix=/home/liuxiu/opencv-arm : 执行 make install 后,会将与体系无关的文件拷贝到此目录 下,具 体如下: /home/liuxiu/opencv-arm ....................................
Linux下交叉编译FFmpeg
Linux下交叉编译 FFmpeg
首先编译 x264 安装
下载
wget ftp:///pub/x264/snapshots/last_stable_x264.tar.bz2
解压
tar jxvf x264-snapshot-20191216-2245.tar.bz2
编译安装
make make install
其中,--extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib 用来指定libx264的路径,需要--extra-libs=-ldl才能查找到libx264的路径,--enable-pic 如果静态地编译 FFmpeg库,并且想要使用它们来构建自己的共享库,则可能需要强制PIC支持
安装
cd FFmpeg mkdir build cd build ../configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --enable-sws
ffmpeg-php扩展的安装与使用方法
ffmpeg-php扩展的安装与使用方法ffmpeg-php是一个用于将FFmpeg功能集成到PHP的扩展。
它允许开发人员在PHP代码中使用FFmpeg的强大功能,如视频转码、视频剪辑、视频水印等。
本文将介绍ffmpeg-php扩展的安装和使用方法。
一、安装ffmpeg-php扩展要使用ffmpeg-php扩展,首先需要确保服务器上已经安装了FFmpeg。
接下来,按照以下步骤安装ffmpeg-php扩展:1. 下载ffmpeg-php源代码包。
可以从ffmpeg-php的官方网站或GitHub上获取源代码包。
2. 解压源代码包。
使用解压工具将下载的源代码包解压到服务器上的任意目录。
3. 进入解压后的源代码目录。
使用命令行工具进入解压后的源代码目录。
4. 执行configure命令。
运行以下命令以配置ffmpeg-php扩展:```./configure --with-php-config=[php-config路径] --with-ffmpeg=[FFmpeg安装路径]```其中,[php-config路径]是php-config文件的路径,[FFmpeg安装路径]是FFmpeg的安装路径。
5. 执行make命令。
运行以下命令以编译ffmpeg-php扩展:```make```6. 执行make install命令。
运行以下命令以安装ffmpeg-php扩展: ```make install```7. 配置php.ini文件。
打开php.ini文件,添加以下一行代码:```extension=ffmpeg.so```保存php.ini文件并重启Web服务器,以使配置生效。
至此,ffmpeg-php扩展已成功安装到服务器上。
二、使用ffmpeg-php扩展安装完成后,就可以在PHP代码中使用ffmpeg-php扩展了。
以下是一些常用的ffmpeg-php扩展函数的使用示例:1. 获取视频信息使用ffmpeg_movie函数可以获取视频文件的基本信息,如视频时长、帧率等。
Linux下ffmpeg转换工具配置(MP3和AMR格式文件互转)
Linux下ffmpeg转换工具配置(MP3和AMR格式文件互转)修订记录:目录Linux下ffmpeg转换工具配置(MP3和AMR格式文件互转) (1)一、ffmpeg安装配置 (4)二、特殊说明 (5)一、ffmpeg安装配置1.首先安装系统基础环境RHEL & CentOS 系列# yum install -y automake autoconf libtool gcc gcc-c++2.下载并解压安装包yasm:/Download.html(汇编器,新版本的ffmpeg增加了汇编代码)lame:/download.php(Mp3音频解码)OpenCore AMR (fdk-aac-0.1.3 ):/projects/opencore-amr FFMpeg:/download.html使用tar命令解压相关包3.编译并安装所需源码包1)安装yasm# cd yasm-1.3.0# ./configure# make# make install2)安装lame# cd ../lame-3.99.5# ./configure# make# make install3)安装opencore# cd ../opencore-amr-0.1.3# ./configure# make# make install4)安装ffmpeg# cd ../ffmpeg-2.5.3# ./configure --enable-libmp3lame --enable-version3 --enable-shared# make# make install# ldconfig4.测试执行ffmpeg命令,如出现帮助信息则表示安装成功。
上传一个mp3文件,并执行如下命令,执行完后把test.amr下载下来,听下转换后是否跟mp3文件内容一致,一致则代表转换成功。
# ffmpeg -i test.mp3 test.amr二、特殊说明1.64位操作系统配置64位的操作系统运行ffmpeg命令时,可能会报找不到/usr/lib/libavdevice错误,这个时候就要创建一些文件链接。
ffmpeg库 使用方法
ffmpeg库使用方法ffmpeg 是一个开源的多媒体处理库,用于转换、编辑、录制、删除音频、视频和图像文件。
以下是 ffmpeg 库的一般使用方法:1. 安装 ffmpeg:在 Linux 系统中,可以使用包管理器 (如 apt-get、yum、pacman 等) 安装 ffmpeg。
在 Windows 系统中,可以使用 ffmpeg 的官方网站下载安装程序并按照提示安装。
2. 创建 ffmpeg 脚本:通过创建 ffmpeg 脚本,我们可以方便地自动化多媒体处理任务。
使用以下语法创建一个脚本:```ffmpeg -i <input_file> -acodec <codec_name> -vcodec<codec_name> -f <file_name> <output_file>```其中,`-i <input_file>` 用于指定输入文件,`-acodec<codec_name>` 用于指定音频编码器,`-vcodec <codec_name>` 用于指定视频编码器,`-f <file_name>` 用于指定输出文件名,`<output_file>` 是一个可选参数,指定输出文件路径。
3. 录制多媒体内容:通过使用 `ffmpeg` 的录制功能,我们可以录制屏幕上的多媒体内容。
使用以下语法创建一个录制脚本:```ffmpeg -i <input_file> -acodec <codec_name> -vcodec<codec_name> -f <file_name> -t <倒计时> out.mp4```其中,`-i <input_file>` 用于指定输入文件,`-acodec<codec_name>` 用于指定音频编码器,`-vcodec <codec_name>` 用于指定视频编码器,`-f <file_name>` 用于指定输出文件名,`-t <倒计时>` 用于指定录制时间,`out.mp4` 是一个可选参数,指定输出文件路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
怎样安装ffmpeg?1,cd /usr/local/src下载最新版本的ffmpeg:svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg2,cd ffmpeg./configuremake && make install以上是安装不带任何解码库的ffmpeg。
使用ffmpeg命令进行测试安装是否成功。
例如:ffmpeg --helpII,要加入则在./configure后面加上选项,前提是已经编译安装了这种编码库。
[root@ip-208-109-221-163 ffmpeg]# ffmpeg --helpffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory找不到libavdevice.so.52库。
解决方案:(成功解决问题的方案)首先到/usr/local/lib/目录下去查看是否有libavdevice.so.52,然后设置环境变量:export LD_LIBRARY_PA TH=/usr/local/lib/注意:这种方案经验证,关闭终端再打开终端,这个环境变量就失效了,也就是说只对当前终端有效最终解决方案://**********************************************因为找不到库文件。
编辑/etc/ld.so.conf,加入一行:/usr/local/lib执行ldconfig命令即可。
//**************************************然后添加软链接。
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52安装成功后,测试:ffmpe g -i /home/admn/public_html/ConvertVedioT est/rjmj.mpeg -ab 56 -ar 22050 -b 500 -r 15 -qscale 4 -s 640*480 rjmj.flv转换成功。
等等。
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51最基本的需要这些东西:∙FFMPEG∙LAME Mp3 Audio Codec (Requred for mpg, flv, avi, wmv etc files) ∙AMR Audio Codec (Required for 3gp video files)∙XVID Audio Codec∙FFMPEG-PHP★安装FFMPEG-PHP:★FFMPEG-PHP# ./configure出现如下错误:??checking for ffmpeg headers... configure: error: ffmpeg headers not found. Make sure you've built ffmpeg as shared libs using the --enable-shared option解决方案:换成ffmpeg-php-0.6.0.tbz2版本进行安装,安装过程没有问题。
ffmpeg-php is an extension for PHP that adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP's image functions. This works well for automatically creating thumbnail images from movies. ffmpeg-php is also useful for reporting the duration and bitrate of audio files (mp3, wma...). ffmpeg-php can access many of the video format supported by ffmpeg (mov, avi, mpg, wmv...)USAGEIf you've the installed ffmpeg-php extension as a shared library but haven't setit to auto-load in your php.ini file, you'll need to use the PHP dl() function to make ffmpeg-php available to your scripts. Add the following PHP code to the beginning of scripts you want to call ffmpeg-php methods in.<?php$extension = "ffmpeg";$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;// load extensionif(!extension_loaded($extension)) {dl($extension_soname) or die("Can't load extension $extension_fullname\n");}?>ffmpeg最后配置为:./configure --disable-mmx --enable-gpl --enable-shared--enable-libmp3lame --enable-libvorbis --enable-libxvid--enable-libx264 --enable-pthreads --disable-ffserver --disable-ffplay 安装ffmpeg最后结果为:安装ffmpeg-php结果为:Now, you need to add the ffmpeg extension in your php.ini file. Locate the php.ini file and use the below commend to insert it:????echo‘extension=/usr/local/lib/php/extensions/no-debug-non-zts-20020429/ffmpeg.so’ >> /path/to/php.ini具体情况应该是:echo ‘extension=/usr/lib/php/modules/ffmpeg.so’ >> /etc/php.ini这个是错误的,因为php.ini中已经有extension_dir=/usr/lib/php/modules/故不需要前缀。
应该改为:echo ‘extension=ffmpeg.so’ >> /etc/php.ini(测试成功)Make sure to restart apache once you insert the extension:执行这个命令,重启apache服务:# service httpd restart★用文件测试:将ffmpeg-php目录中的test_media和test_ffmpeg.php上传到服务器的目录上,打开浏览器执行test_ffmpeg.php进行测试:★★★★在php中调用ffmpeg不能转换的原因:★★★★在linux下面一般是不能执行二进制文件(.exe)的,故不能写成ffmpeg.exe形式。
而且为了防止环境变量$PATH没有包含ffmpeg文件的路径而发生错误,故最好是将文件的路径写成全路径。
如果$PATH包含了它的路径,就可以直接用ffmpeg.例如:$cmd="/usr/local/bin/ffmpeg.exe -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 test.flv";exec($cmd);修改为:$cmd="/usr/local/bin/ffmpeg-i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 test.flv";exec($cmd);在php中成功转换文件。
可以使用相对路径调用ffmpeg进行文件格式转换$cmd="ffmpeg -i ./UploadFile/video/rjmj.mpeg -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 ./UploadFile/video/rjmj.flv";exec($cmd);$cmd="ffmpeg -i ./UploadFile/video/rjmj.mpeg -y -f image2 -ss 1 -t 0.001 -s 80*80 ./UploadFile/video/rjmj.jpg";exec($cmd);删除原文件可以使用相对目录。