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也可以用于音频领域,包括音频格式转换、音频剪辑、音频合并等,满足了音频处理的需求。
- 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);删除原文件可以使用相对目录。