`
shappy1978
  • 浏览: 698541 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[trans]在CentOS 5上安装FFMPEG

 
阅读更多

http://hi.baidu.com/lhabc/blog/item/6745898f6316c6f1503d9229.html

faac是用来压AAC音轨的,而faad2就是AAC音轨的解码器,liba52是进行AC3支持的
安装前准备编译的环境

yum install -y automake autoconf libtool gcc gcc-c++

1.下载需要的解码器
wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.0.tar.gz
wget ftp://ftp.videolan.org:21//pub/videolan/x264/snapshots/x264-snapshot-20090107-2245.tar.bz2
wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
wget http://down1.chinaunix.net/distfiles/libdts-0.0.2.tar.gz

2.解压安装
解压
for i in *.tar.gz; do tar -xzvf "$i"; done
for i in *.tar.bz2; do tar -xjvf "$i"; done

安装的参数

a52dec: ./configure –enable-shared=PKGS && make && make install
faac & faad2: ./bootstrap && ./configure && make && make install
xvidcore: cd build/generic; ./configure && make && make install
libx264: ./configure –enable-mp4-output –enable-shared –enable-pthread && make && make install
lame & yasm: ./configure && make && make install

最后下载和安装ffmpeg
我是使用的svn同步比较新的,如果有时不能编译通过,可以考虑不使用最新的,不过要提示一下,就是连接这个网站,被我们国家的防火墙给kill掉了。需要各位自己想法子.

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

编译参数
./configure –enable-gpl –enable-postproc –enable-nonfree –enable-postproc –enable-libfaad –enable-swscale –enable-avfilter –enable-pthreads –enable-libxvid –enable-libx264 –enable-libmp3lame –enable-libfaac –disable-ffserver –disable-ffplay

支持rm和rmvb

对rm和rmvb,只有ffmpeg是不行的,还需要下面的mplayer
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20071007.tar.bz2
for i in *.tar.bz2; do tar -xjvf "$i"; done
cp -rf essential-20071007/* /usr/local/lib/codecs
cp -rf all-20071007/* /usr/local/lib/codecs
cp -rf essential-amd64-20071007/* /usr/local/lib/codecs

./configure –prefix=/usr/local/mplayer –enable-gui –enable-freetype –codecsdir=/usr/local/lib/codes –win32codecsdir=/usr/local/lib/win32codcs

更新动态链接库

因为是编译器安装的,所以需要让系统可以找到动态链接库
#echo "/usr/local/lib" >> /etc/ld.so.conf
#echo "/usr/lib" >> /etc/ld.so.conf
#ldconfig

到这基本就安装完了

最基本的几个命令(一定要了解的)

显示支持的格式,不过好象加参数时,加其中的会有问题,看来参数和支持的格式是不一样的
$ ffmpeg -formats 

显示视频的相关信息,如时长,文件声音和视频格式之类的信息
ffmpeg -i abc.ts

查看可以加什么参数 
ffmpeg -h

mplayer获取影片信息
mplayer -identify movie-filename -nosound -vc dummy -vo null

使用ffmpeg从视频中抓图

ffmpeg -i 原视频文件路径 -y -f image2 -ss 8 -t 0.001 -s 图象大小(400×300) 图片存放路径

使用ffmpeg给视频转换成flv

ffmpeg -i 原视频文件路径 -o 目标文件路径 -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=视频码流:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=高:宽 -ofps 12 -srate 22050′)

ffmpeg 00:04:00 -t 00:08:00 -i -vcodec copy -acodec copy aaa.avi

FAQ
1.出现如下提示
-soname,libx264.so.65 -lm -lpthread -lgpac_static -s
/usr/bin/ld: cannot find -lgpac_static
collect2: ld returned 1 exit status
make: *** [libx264.so.65] Error 1

解决方法

yum install zlib-devel
wget http://internap.dl.sourceforge.net/sourceforge/gpac/gpac-0.4.5.tar.gz
wget http://internap.dl.sourceforge.net/sourceforge/gpac/gpac_extra_libs-0.4.5.tar.gz
tar -zxf gpac-0.4.5.tar.gz
tar -zxf gpac_extra_libs-0.4.5.tar.gz
cd gpac_extra_libs
cp -r * ../gpac/extra_lib
cd ../gpac
chmod +x configure
./configure
make lib
make apps
make install-lib
make install
cp bin/gcc/libgpac.so /usr/lib

注意,使用下面的参数出错
–enable-liba52 –enable-liba52bin
查看源码发现中包括了ac3

为了查找方便,把ffmpeg中的参数都列出来

参数 英文说明
-L show license
-h show help
-version show version
-formats 显示可以使用的格式,编码,协议
-f 强行设置输出格式[fmt]
-i 输入文件名[filename]
-y 不询问直接覆盖输出文件
-map set input stream mapping,file:stream[:syncfile:syncstream]
-map_meta_data set meta data information of outfile from infile,outfile:infile
-t set the recording time[duration]
-fs set the limit file size[limit_size]
-ss set the start time offset[time_off]
-itsoffset set the input ts offset[time_off]
-title 视频文件标题[string]
-timestamp set the timestamp[time]
-author set the author[string]
-copyright set the copyright[string]
-comment set the comment[string]
-album set the album[string]
-benchmark add timings for benchmarking
-dump dump each input packet
-hex when dumping packets, also dump the payload
-re read input at native frame rate
-loop_input loop (current only works with images)
-loop_output number of times to loop output in formats that support looping (0 loops forever)
-v control amount of logging[verbose]
-target specify target file type (”vcd”, “svcd”, “dvd”, “dv”, “dv50″, “pal-vcd”, “ntsc-svcd”, …)[type]
-threads thread count[count]
-vsync video sync method
-async audio sync method
-vglobal video global header storage type
-copyts copy timestamps
-shortest finish encoding within shortest input
-dts_delta_threshold timestamp discontinuity delta threshold
以下是视频相关的命令
-vframes 按所提供的帧数对文件解码(例ffmpeg -i test5.flv -r 15 -s 384*288 -y -vframes 1 photos.flv)[num]
-aframes set the number of audio frames to record[num]
-dframes set the number of data frames to record[num]
-r 设置帧速率,每秒多少帧 (Hz value, fraction or abbreviation)[rate]
-s 设置视频的宽度和高度,格式为320×240,320*240,320:240都可以
-aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)[aspect]
-pix_fmt set pixel format[format]
-croptop set top crop band size (in pixels)[size]
-cropbottom “set bottom crop band size (in pixels)[size]
-cropleft set left crop band size (in pixels)[size]
-cropright set right crop band size (in pixels)[size]
-padtop set top pad band size (in pixels)[size]
-padbottom set bottom pad band size (in pixels)[size]
-padleft set left pad band size (in pixels)[size]
-padright set right pad band size (in pixels)[size]
-padcolor set color of pad bands (Hex 000000 thru FFFFFF)[color]
-intra use only intra frames
-vn disable video
-vdt discard threshold[n]
-qscale use fixed video quantizer scale (VBR)[q]
-qdiff max difference between the quantizer scale (VBR)[q]
-rc_eq set rate control equation[equation]
-rc_override rate control override for specific intervals[override]
-vcodec force video codec (’copy’ to copy stream)[codec]
-me set motion estimation method[method]
-me_threshold motion estimaton threshold
-ps set packet size in bits[size]
-strict how strictly to follow the standards[strictness]
-sameq use same video quality as source (implies VBR)
-pass select the pass number (1 or 2)[n]
-passlogfile select two pass log file name[filename]
-deinterlace deinterlace pictures
-psnr calculate PSNR of compressed frames
-vstats dump video coding statistics to file
-vhook insert video processing module[module]
-intra_matrix specify intra matrix coeffs[matrix]
-inter_matrix specify inter matrix coeffs[matrix]
-top top=1/bottom=0/auto=-1 field first
-dc intra_dc_precision[precision]
-vtag force video tag/fourcc[fourcc/tag]
-newvideo add a new video stream to the current output stream
-qphist show QP histogram
以下是音频相关的命令
-ab 声音码流(in kbit/s)[bitrate]
-aq 声音品质(codec-specific)[quality]
-ar 声音的采样频率 (in Hz)[rate]
-ac 设置输出的声道数[channels]
-an 不输出声音
-acodec 设置输入声音的编码格式 (’copy’ to copy stream)[codec]
-atag force audio tag/fourcc[fourcc/tag]
-vol change audio volume (256=normal)[volume]
-newaudio add a new audio stream to the current output stream
-alang set the ISO 639 language code (3 letters) of the current audio stream[code]
以下是字幕相关的命令
-scodec force subtitle codec (’copy’ to copy stream)[codec]
-newsubtitle add a new subtitle stream to the current output stream
-slang set the ISO 639 language code (3 letters) of the current subtitle stream[code]
以下是不常用的命令
-vd set video grab device[device]
-vc set video grab channel (DV1394 only)[channel]
-tvstd set television standard (NTSC, PAL (SECAM))[standard]
-ad set audio device[device]
-grab request grabbing using[format]
-gd set grab device[device]
-muxdelay set the maximum demux-decode delay[sec]
-muxpreload set the initial demux-decode delay[sec]
-absf
-vbsf
-default generic catch all option

(ffmpeg参数说明)

http://hi.baidu.com/lhabc/blog/item/6745898f6316c6f1503d9229.html

分享到:
评论

相关推荐

    centos下ftp安装

    FTP(File Transfer Protocol)是互联网上常用的文件传输协议,CentOS 作为一款流行的 Linux 发行版,安装和配置 FTP 服务器是必不可少的。本文将指导用户在 CentOS 6.3 下安装和配置 vsftpd 服务器。 一、FTP 安装...

    CentOS Linux release 7.9.2009 安装 mysql-5.7.37-linux-glibc2.12-x8

    在本教程中,我们将详细介绍如何在 CentOS Linux release 7.9.2009 上安装 MySQL 5.7.37。首先,我们要确保系统中没有预装的 MariaDB 或其他 MySQL 版本,因为它们可能与新安装的 MySQL 冲突。 1. 卸载预装的 ...

    CentOS 6.1 安装bugzilla

    在本文中,我们将深入探讨如何在CentOS 6.1系统上安装和配置Bugzilla,这是一个广泛使用的开源错误跟踪系统。首先,我们要确保系统中已经安装了必要的软件组件,包括Vsftpd、Apache httpd、Mysql、Bugzilla和Perl。...

    苹果系统安装教程+TransMac工具

    在安装前,你需要确保你的硬件兼容Mac OS,例如,至少需要具备Intel或Apple M1芯片的处理器。接下来,你需要一个足够大的USB闪存驱动器(通常建议8GB以上),这个驱动器将被用来制作成启动安装盘。 TransMac的使用...

    利用ffmpeg制作照片视频

    首先,你需要在你的计算机上安装ffmpeg。可以在ffmpeg官网下载对应操作系统的预编译版本,或者根据系统环境自行编译。安装完成后,确保ffmpeg可执行文件在PATH环境变量中,这样可以在命令行中直接调用。 **四、...

    CentOS6.4 SSH Telnet服务器配置

    在CentOS 6.4系统中安装SSH服务器的基本步骤如下: 1. **安装SSH服务器** - 使用`yum install openssh-server`命令安装OpenSSH服务器。 2. **启动与管理SSH服务** - 启动SSH服务:`service sshd start` - 设置...

    TransMac11.4免安装版

    在标题"TransMac11.4免安装版"中,我们可以理解这个版本是11.4的TransMac,而且它是一个免安装版本,意味着用户可以直接下载并运行,而无需通过传统的安装过程。 TransMac的主要功能集中在两个方面:一是格式化U盘...

    升级Centos6.5安装光盘中的内核.docx

    首先,升级内核的背景是由于一个基于CentOS6.5的虚拟化平台在新服务器上遇到硬件不兼容问题,这可能源于内核版本过旧。在这种情况下,升级内核至稳定版本是解决此类问题的一个常见策略。在本文中,作者选择了4.8.6...

    centOs 下安装配置vsftpd

    本文将详细介绍如何在CentOS系统上安装并配置VSFTPD服务,使用户能够安全地进行文件传输。 #### 二、安装 VSFTPD 1. **安装 VSFTPD** - 打开终端。 - 使用命令 `yum install vsftpd` 安装VSFTPD。 ```bash yum...

    TransMac.v10.4 好用的黑苹果软件

    "黑苹果工具" 这一描述进一步强调了TransMac的功能定位,即它是用来支持在非官方苹果硬件上安装和使用Mac OS的辅助工具。在非苹果电脑上运行Mac OS通常被称为“黑苹果”项目,这需要特定的软件来处理苹果文件系统的...

    TransMac 12.3.rar

    TransMac能让用户将DMG文件写入U盘或其他可移动存储设备,这对于在Windows系统中安装Mac应用或向Mac设备传输数据非常有用。 3. **格式化支持**:除了读取,TransMac还能对硬盘、USB驱动器、SD卡等进行HFS、HFS+和...

    升级Centos6.5安装光盘中的内核.pdf

    在本例中,由于公司虚拟化平台在新服务器上遇到兼容性问题,决定升级 CentOS 6.5 安装镜像中的内核。 升级内核的过程分为几个关键步骤: 1. **获取新内核源码**:从 kernel.org 下载最新的稳定版内核源码,例如...

    黑苹果系统U盘制作工具TransMac121.zip

    注意,由于是非苹果硬件,可能需要在安装过程中进行额外的驱动程序配置和硬件兼容性检查。 7. **安装macOS**:按照macOS的安装向导步骤进行,选择磁盘分区进行安装。由于是黑苹果系统,可能需要手动指定安装位置和...

    TransMac_14.4

    3. **刻录.dmg镜像**:软件的核心功能之一是刻录Mac OS的.dmg镜像到CD、DVD或闪存驱动器上,这在安装Mac应用或者恢复系统时尤为实用。 4. **转换磁盘格式**:TransMac还支持将非Mac格式的磁盘转换为HFS+或APFS格式...

    CentOS 5.3下vsftp创建新用户

    在CentOS 5.3系统下配置vsftpd(Very Secure FTP Daemon)以创建并管理新的FTP用户是一项关键的IT技能,尤其对于那些负责维护服务器和确保数据安全的专业人士而言。下面将详细介绍如何在CentOS 5.3环境中通过vsftpd...

    CentOS 5.5 FTP设置

    通过上述步骤,我们已经在CentOS 5.5上成功安装并配置了vsftpd FTP服务。需要注意的是,实际部署过程中还需要根据具体需求进一步调整配置文件中的各项参数,以确保服务的安全性和稳定性。此外,考虑到CentOS 5.5已...

    CentOS5.3 操作系统应用打包

    cp -fr /mnt/cdrom/TRANS* /home/OS/CentOS cp -fr /mnt/cdrom/.discinfo /home/OS/CentOS cp -fr /mnt/cdrom/.treeinfo /home/OS/CentOS echo "cposassiantinfoend" ``` 2. **软件包复制脚本**(`copyrpms.sh...

    TransE算法代码实现.rar

    5. **迭代与早期停止**:在验证集上监控模型性能,当性能不再提升时停止训练,防止过拟合。 在C++实现TransE的过程中,需要注意内存管理和计算效率,因为可能需要处理大量的三元组数据。同时,为了提高计算速度,...

Global site tag (gtag.js) - Google Analytics