Linux源码安装ffmpeg
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的移植过程。
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添加字幕和水印到视频中。
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,立马见效。
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下安装FFMPEG全纪录
怎样安装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转换成功。
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指令进行音视频处理。
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`。
Linux实现ffmpegH.265视频编码
Linux实现ffmpegH.265视频编码Linux实现ffmpeg H.265视频编码⼏乎所有观看的视频,数字地⾯电视,电缆,卫星或互联⽹上的压缩。
原始的,未压缩的视频太⼤,会浪费太多的带宽。
在DVD和Blu-ray 之前,有视频CD(VCD)。
这是⽤于在标准120mm(4.7英⼨)光盘。
光盘上的视频被编码为MPEG-1,⼀种⽤于在1处流式传输视频数据的有损压缩格式。
5 Mbit / s。
MPEG-1标准最有名的组件可能是⾳频压缩格式。
官⽅称之为MPEG-1⾳频层III,可能将其称为MP3.MPEG-1来源于MPEG-2,被选为DVD视频的视频压缩标准。
它还被⽤作数字卫星(DVB-S)和数字地⾯电视(DVB-T)的基础视频标准。
MPEG-2也被国际电信联盟(ITU)批准为H.262.DVD光盘后,⽀持MPEG-2编码的视频也⽀持H.264或MPEG-4第10部分,⾼级视频编码(MPEG-4 AVC)正式公布。
MPEG-1:⽤于视频CDsMP3: MPEG-1标准的⼀部分,普遍存在于今天MPEG-2 / H。
262:⽤于DVD和其他数字媒体MPEG-4 Part 10 / H。
264:⽤于Blu-rayMPEG-H / H。
265:下⼀代编码格式⽀持4K和8K分辨率After H.264来了265.它还有⼀些其他名称,最常见的是⾼效率视频编码(HEVC)或MPEG-H。
H。
265数据压缩⽐与H.264,可以⽀持⾼达8192×4320的分辨率。
这意味着相同质量的视频只需要⼀半的带宽(或⽂件⼤⼩)。
或者,这意味着可以以相同的⽐特率显着改善视频的质量,这对于⾮常⾼的清晰度是⾮常重要的(即,即4K和8K)显⽰。
Linux⽤户的好消息是,H.265编解码器在流⾏的编码套件中可⽤265编译获取最新和功能最强⼤的ffmpeg版本的最简单的⽅法是下载静态链接的构建。
下载32位或64位。
柏油。
xz⽂件。
LINUX下编译ffmpeg-x264
LINUX下编译ffmpeg-x2641版本:X264.r663,ffmpeg.r94532yasm2.1 下载yasm新版本要安裝x264,就需要用yasm來編譯。
那就先裝個yasm吧。
yasm下載網址:/projects/yasm/releases/yasm-0.6.0.tar.gz2.2 编译安装#tar xzvf yasm-0.6.0.tar.gz#cd yasm-0.6.0#./configure --prefix=/usr/local/yasm#make#make instal l3x2643.1 编译3.1.1编译静态库3.1.2编译动态库3.2 安装由于一般ffmpeg采用静态连接x264,所以只需要编译安装x264静态库#cp libx264.a /usr/lib#cp x264.h /usr/include4ffmpeg4.1 下载到FFmpeg官方下载最新的FFmpeg版本。
CVS服务器地址如下:cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg。
现在已改成SVN下载:svn://svn.mplayerhq.hu/ffmpeg4.2 编译安装#./configure --enable-shared --disable-static --enable-memalign-hack --enable-libx264 --enable-gpl --enable-pthreads#make#make installmake install结果:1)头文件:/usr/local/include/ffmpeg-rw-r--r-- 1 root root 5180 7月 3 17:18 swscale.h-rw-r--r-- 1 root root 3053 7月 3 17:18 rtsp.h-rw-r--r-- 1 root root 1712 7月 3 17:18 rtspcodes.h-rw-r--r-- 1 root root 3797 7月 3 17:18 rtp.h-rw-r--r-- 1 root root 7647 7月 3 17:18 rgb2rgb.h-rw-r--r-- 1 root root 3062 7月 3 17:18 rational.h-rw-r--r-- 1 root root 2408 7月 3 17:18 random.h-rw-r--r-- 1 root root 3087 7月 3 17:18 opt.h-rw-r--r-- 1 root root 2044 7月 3 17:18 mem.h-rw-r--r-- 1 root root 1174 7月 3 17:18 md5.h-rw-r--r-- 1 root root 1767 7月 3 17:18 mathematics.h-rw-r--r-- 1 root root 1132 7月 3 17:18 lzo.h-rw-r--r-- 1 root root 3599 7月 3 17:18 log.h-rw-r--r-- 1 root root 1302 7月 3 17:18 intfloat_readwrite.h-rw-r--r-- 1 root root 2343 7月 3 17:18 integer.h-rw-r--r-- 1 root root 2943 7月 3 17:18 fifo.h-rw-r--r-- 1 root root 9315 7月 3 17:18 common.h-rw-r--r-- 1 root root 1223 7月 3 17:18 base64.h-rw-r--r-- 1 root root 6020 7月 3 17:18 avutil.h-rw-r--r-- 1 root root 2494 7月 3 17:18 avstring.h-rw-r--r-- 1 root root 9406 7月 3 17:18 avio.h-rw-r--r-- 1 root root 31796 7月 3 17:18 avformat.h-rw-r--r-- 1 root root 95102 7月 3 17:18 avcodec.h-rw-r--r-- 1 root root 993 7月 3 17:18 adler32.h2)库文件:/usr/local/libdrwxr-xr-x 2 root root 4096 7月 3 17:18 vhookdrwxr-xr-x 2 root root 4096 7月 3 17:18 pkgconfig-rwxr-xr-x 1 root root 29412 7月 3 17:18 libavutil.so.49.4.1lrwxrwxrwx 1 root root 19 7月 3 17:18 libavutil.so.49 -> libavutil.so.49.4.1lrwxrwxrwx 1 root root 19 7月 3 17:18 libavutil.so -> libavutil.so.49.4.1-rwxr-xr-x 1 root root 557856 7月 3 17:18 libavformat.so.51.12.1lrwxrwxrwx 1 root root 22 7月 3 17:18 libavformat.so.51 -> libavformat.so.51.12.1lrwxrwxrwx 1 root root 22 7月 3 17:18 libavformat.so -> libavformat.so.51.12.1-rwxr-xr-x 1 root root 4105568 7月 3 17:18 libavcodec.so.51.40.4lrwxrwxrwx 1 root root 21 7月 3 17:18 libavcodec.so.51 -> libavcodec.so.51.40.4lrwxrwxrwx 1 root root 21 7月 3 17:18 libavcodec.so -> libavcodec.so.51.40.44.3 合并libavcodec和libavutil1)新建一个目录make_my2)拷贝需要的.o文件a)#cp ffmpeg/libavcodec/*.o make_myb)#mkdir make_my/i386c)#cp ffmpeg/libavcodec/i386/*.o make_my/i386d)#cp ffmpeg/libavutil/*.o make_my3)合并libavcodec和libavutil成一个库(注意路径问题)gcc -shared -Wl,-soname,libavcodec.so.51 -pthread -rdynamic -export-dynamic -Wl,--warn-common -Wl,--as-needed -Wl,-rpath-link,"/home/wncheng/vtapp/ffmpeg/ffmpeg.r9453"/libavcodec-Wl,-rpath-link,"/home/wncheng/vtapp/ffmpeg/ffmpeg.r9453"/libavformat-Wl,-rpath-link,"/home/wncheng/vtapp/ffmpeg/ffmpeg.r9453"/libavutil -o libavcodec.so.51 bitstream.o utils.o allcodecs.o mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o resample.o resample2.o dsputil.o motion_est.o imgconvert.o mpeg12.o simple_idct.o ratecontrol.o eval.o error_resilience.o raw.o faandct.o parser.o rangecoder.o h263.o opt.o bitstream_filter.o audioconvert.o imgresample.o i386/fdct_mmx.o i386/cputest.o i386/dsputil_mmx.o i386/mpegvideo_mmx.o i386/motion_est_mmx.oi386/simple_idct_mmx.o i386/idct_mmx_xvid.o i386/fft_sse.o i386/fft_3dn.o i386/fft_3dn2.o aasc.o ac3enc.o ac3tab.o ac3.o alac.o asv1.o atrac3.o mdct.o fft.o avs.o bethsoftvideo.o bmp.o bmpenc.o c93.o cavs.o cavsdsp.o golomb.o cinepak.o cljr.o cook.o cscd.o cyuv.o dca.o dnxhddec.o dsicinav.o dvbsubdec.o dvbsub.o dvdsubdec.o dvdsubenc.o dv.o dxa.o 8bps.o ffv1.o huffyuv.o flac.o flacenc.o flashsv.o flashsvenc.o flicvideo.o 4xm.o fraps.o gifdec.o lzw.o gif.o h261dec.o h261.o h261enc.o h263dec.o h264.o h264idct.o cabac.o idcinvideo.o imc.o indeo2.o indeo3.o interplayvideo.o dpcm.o jpeglsdec.o jpegls.o mjpegdec.o mjpeg.o jpeglsenc.o kmvc.o ljpegenc.o mjpegenc.o loco.o mace.o mjpegbdec.o mmvideo.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o mpegaudioenc.o mpc.o msmpeg4.o msmpeg4data.o msrle.o msvideo1.o lcl.o nuv.o rtjpeg.o pnmenc.o pnm.o png.o ptx.o qdm2.o qdrw.o qpeg.o qtrle.o qtrleenc.o ra144.o ra288.o roqvideodec.o roqvideo.o roqvideoenc.o elbg.o roqaudioenc.o rpza.o rv10.o sgidec.o sgienc.o rle.o shorten.o smacker.o smc.o snow.o sonic.o sp5xdec.o svq1.o targa.o targaenc.o vp3.o xiph.o vp3dsp.o tiertexseqv.o tiff.o tiffenc.o lzwenc.o truemotion1.o truemotion2.o truespeech.o tscc.o tta.o txd.o s3tc.o ulti.o vc1.o vc1data.o vc1dsp.o vcr1.o vmdav.o vmnc.o vorbis_dec.o vorbis.o vorbis_data.o vorbis_enc.o vp5.o vp56.o vp56data.o vp6.o vqavideo.o wavpack.o wmadec.o wma.o wmaenc.o wnv1.o ws-snd1.o xan.o xl.o zmbv.o zmbvenc.o pcm.o adpcm.o adx.o g726.o libx264.o aac_parser.o aac_ac3_parser.o ac3_parser.o cavs_parser.o dca_parser.o dvbsub_parser.o dvdsub_parser.o h261_parser.o h263_parser.o h264_parser.o mjpeg_parser.o mpeg4video_parser.o mpegaudio_parser.o mpegvideo_parser.o pnm_parser.o vc1_parser.o dump_extradata_bsf.o remove_extradata_bsf.o noise_bsf.o mp3_header_compress_bsf.o mp3_header_decompress_bsf.o mjpega_dump_header_bsf.o imx_dump_header_bsf.o pthread.o i386/idct_mmx.o i386/cavsdsp_mmx.o i386/snowdsp_mmx.o i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o tree.o string.o rational.o random.o mem.o md5.o mathematics.o lzo.o log.o lls.o intfloat_readwrite.o fifo.o crc.o base64.o aes.o adler32.o -L"/home/wncheng/vtapp/ffmpeg/ffmpeg.r9453"/libavutil -lavutil -lm -lz -lx264 -ldl5问题1)configure时提示“bad interpreter”答:vi configure然后:set ff=unix2) configure时提示“某文件权限问题”答:chmod +x filename。
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 安装出现的Bug
1. 首先,从svn上拿到ffmpeg的源代码,执行如下脚本:./configure --prefix=/usr --enable-gpl --enable-shared--enable-pthreads --disable-ffserver --disable-ffplay不会请用./configure -help在这里,大家可以看到我并有enable任何的编码器。
主要是想在没有其他干扰的情况下,先尝试一下ffmpeg的独立编译。
果不其然,执行./configure就遇到了问题:1. bad interpreter:No such file or directory问题原因:脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII 码分别是0x0D, 0x0A.解决方法:可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的(1)vi filename(2):set ff?可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出即可。
2. 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*************************************解决问题:网上有达人提示:Try cp command (cp for copy)试了一下改成 cp -f $TMPH config.h,立马见效。
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` 是一个可选参数,指定输出文件路径。
ffmpeg库 使用方法
ffmpeg库使用方法ffmpeg是一个开源的视频和音频编解码库,可用于转换、编辑、压缩和打包视频和音频文件。
以下是使用ffmpeg库的一般步骤:1. 安装ffmpeg库在命令行中使用FFmpeg库,可以使用以下命令在Linux或MacOS 上安装:```sudo apt-get install ffmpeg```或者```npm install ffmpeg```2. 定义要转换的文件格式在FFmpeg库中,可以使用“-f”选项指定要转换的文件格式,例如:```ffmpeg -i input.mp4 -f mp4 output.mp4```该命令将 input.mp4 文件转换为 .mp4 格式的输出文件。
3. 设置转换参数除了格式选项外,还有许多其他转换选项可用。
例如,可以使用“-v”选项来显示转换进度,使用“-a”选项来设置音频选项,使用“-t”选项来设置帧速率等。
```ffmpeg -i input.mp4 -v -acodec libx264 -t 30 output.mp4 ```该命令将 input.mp4 文件转换为 .mp4 格式,并使用 libx264编码器进行视频转换,同时设置转换时间为 30 秒。
4. 转换完成后,保存文件转换完成后,可以使用以下命令保存转换后的文件:```ffmpeg -f output.mp4 -i input.mp4 -t 30 output.mp4```该命令将文件保存到指定的位置,并在转换完成后设置文件大小为 30 秒。
这只是一个简单的例子,FFmpeg库还有许多其他功能和选项可用。
可以通过搜索FFmpeg库的文档和使用手册来了解更多信息。
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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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/
./configure --enable-shared
make & make install
cd -
tar -jxvf amrwb-11.0.0.0.tar.bz2 -C /usr/local/src/
cp 26204-700.zip /usr/local/src/amrwb-11.0.0.0/
make && make install
cd -
五、安装x264编码器
#/developers/x264.html
#ftp:///pub/videolan/x264/snapshots/
wget ftp:///pub/x264/snapshots/last_x264.tar.bz2
///// make[2]: Leaving directory `/usr/local/src/faac-1.28/common' /////
///// make[1]: *** [all-recursive] Error 1 /////
///// make[1]: Leaving directory `/usr/local/src/faac-1.28' /////
##### 如果出现以下错误提示 #####
///// make[3]: Leaving directory `/usr/local/src/faac-1.28/common/mp4v2' /////
///// make[2]: *** [all-recursive] Error 1 /////
##### vim /etc/ld.so.conf #加入以下内容
##### include /etc/ld.so.conf.d/*.conf
/usr/local/lib
##### ldconfig -v
make && make install
cd -
四、安装yasm(汇编优化器,可能安装x264要用到)
##### 解决办法: #####
##### make clean #清空重新配置,然后在make
##### ./configure --enable-shared 'CFLAGS=-fPIC'
cd -
九、安装faad
#/downloads.html
wget /ftp/Specs/archive/26_series/26.204/26204-700.zip
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-11.0.0.0.tar.bz2
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-11.0.0.0.tar.bz2
tar -zxvf libogg-1.3.2.tar.gz -C /usr/local/src/
cd /usr/local/src/libogg-1.3.2/
./configure --enable-shared
make && make install
cd -
三、安装libvorbis编码器
#libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装
wget /releases/vorbis/libvorbis-1.3.5.tar.gz
tar -zxvf libvorbis-1.3.5.tar.gz -C /usr/local/src/
./configure
make && make install
cd -
七、安装dts库(libdca)
#/developers/libdca.html
#/pub/videolan/libdca/0.0.5/
///// make[1]: *** [] Error 1 /////
///// make[1]: Leaving directory `/usr/local/src/a52dec-0.7.4/liba52' /////
///// make: *** [all-recursive] Error 1 /////
wget /projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz -C /usr/local/src/
cd /usr/local/src/yasm-1.3.0/
./configure
tar -jxvf last_x264.tar.bz2 -C /usr/local/src/
cd /usr/local/src/x264-snapshot-20171010-2245/
./configure --enable-shared --disable-asm
make && make install
cd -
六、安装xvid编码器(xvidcore)
wget /downloads/xvidcore-1.3.4.tar.gz
tar -zxvf xvidcore-1.3.4.tar.gz -C /usr/local/src/
cd /usr/local/src/xvidcore/build/generic/
cd /usr/local/src/libvorbis-1.3.5/
./configure --enable-shared
##### 如果出现以下错误提示 #####
///// *** If you have an old version installed, it is best to remove it, although /////
##### 重新编译
十一、安装3gp的一些编解码文件(amrnb、amrwb)
#http://ftp.penguin.cz/pub/users/utx/amr/
wget /ftp/Specs/archive/26_series/26.104/26104-610.zip
cd /usr/local/src/amrwb-11.0.0.0/
./configure --enable-shared
make & make install
cd -
十二、安装opencore-amr
#/projects/opencore-amr/files/opencore-amr/
cd /usr/local/src/opencore-amr-0.1.5/
./configure --enable-shared
make & make install
wget https:///project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz
tar -zxvf faad2-2.7.tar.gz -C /usr/local/src/
cd /usr/local/src/faad2-2.7/
autoreconf -vif
./configure --enable-shared
make && make install
cd -
十、安装faac编码器
#/downloads.html
wget https:///project/faac/faac-src/faac-1.28/faac-1.28.tar.gz
tar -zxvf faac-1.28.tar.gz -C /usr/local/src/
cd /usr/local/src/faac-1.28/
./bootstrap
./configure --enable-shared --with-mp4v2