Linux下用ffmpeg轉PSP影片 (MP4/AVC格式)
http://www.hacken.cc/ss/index.php/144989/viewspace-5136
总的来看过程是这样的: 1.安装转换所需套件 2.转换成MP4/AVC格式 3.把转换好的档案命名为"maqxxxxx.mp4"并放到"ms0:/mp_root/101anv01/"中
首先我们要用的工具: ffmpeg 還有需要的庫:还有需要的库: x264 , faac和faad2
别想偷懒把所有东东apt-get回来就好, 因为apt-get回来的ffmpeg并不支援x264和aac,所以无法用来转MP4/AVC 为使ffmpeg支援aac和x264, 就必需自己下载ffmpeg的源代码来编译,
要使ffmpeg支援MP4/AVC格式就得把一些Libraries编进去, 下载以下源代码并编译: faac下载: http://sourceforge.net/project/showfiles.php?group_id=704 编译: # ./configure --prefix=/usr/local --enable-shared --with-mp4v2 # make clean ; make # sudo make install
faad2下载: http://sourceforge.net/project/showfiles.php?group_id=704 编译: # ./configure --prefix-/usr/local --enable-shared --with-mp4v2 # make clean ; make # make install
x264下载(用svn指令,还有就是要先安装yasm才编): # sudo apt-get install yasm # svn co svn://svn.videolan.org/x264/trunk x264 编译: # ./configure --prefix=/usr/local --enable-shared # make clean ; make # sudo make install
.这时你已经安装好转MP4/AVC所需的Libraries了先旨声明,以上这三个只是"只针对转MP4/AVC而所需的Libraries". 而ffmpeg还可以编码很多其他格式想要支持其他格式(如转mp3等)就请自己下载所需的Libraries, 我把常用的格式和所需的Libraries整理成下表. (以下套件只要下回来就"./configure"时只要加上" --enable-shared"选项,再make && make install就可以了,没难度)
套件名 mp3 lame使之支援mp3編碼使之支援mp3编码 amr-nb libamrnb gp的声音部分会用到 amr-wb libamrwb
AC3 liba52 杜比环回立体声使用的编码,对DVD编码时或许会用到 Xvid xvidcore 要把影片压成Xvid就一定要这个,这个编译时不用--enable-shared #apt-get install libvorbis libvorbis-devel libogg libogg-devel 这堆麻烦东西apt-get安装就好了
PS:个人觉得xvid和mp3特有用,建议安装
接下来就是编译ffmpeg 使用svn指令下载ffmpeg: # svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
首先解压缩不用说进入资料夹后当然就是./configure啦完整命令是这样: # ./configure --enable-shared --enable-libfaac --enable-libfaad2 --enable-libx264 --enable-pthreads --disable-ffserver --prefix=/usr/local
假若你有下载其它库来支援更多功能,可以在上面命令添加"--enable-xxxxxx" 例如你要把mp3lame编进去,只要加"--enable-libmp3lame"就好了 PS那个"xxxxx"都以lib开头,xvidcore的是"libxvid",其他按上表的"套件名"一栏键入就ok
产生Makefile档后,就到最花时间的编译了 # make clean ; make # sudo make install
用这个: # ffmpeg -i "InputFile" -timestamp 00:00:00 -bitexact 1 -vcodec libx264 -bufsize 128 -g 250 -s 480x272 -r 29.97 -b 768k -acodec libfaac -ac 2 -ar 48000 -ab 64 -f psp "OutputFile"
参数: -i :后面接着要转换的档案 -timestamp :指定时间截 -bitexact :使用标准比特率 -vcodec :指定用什么codec来编码影像部分,MP4/AVC=X264+AAC,所以这里选libx264 -bufsize :设置码率控制缓冲区大小,不懂的,别理它了! -g :设置图像组大小,又是很Pro的东西,当看不见就可以了! -s :指定影片解析度,要在PSP全萤幕看所以就设480x272 -r :帧频,一般都会用29.90 b :影像比特率,768很不错了。除了768外,也可以选:384512,1500,越大画质越好,档案也越大 -acodec :指定用啥codec来编码声音部分,现在我们转成MP4/AVC所以我们用libfaac -ac :声道数,调成2就是立体声,1的话就会是单声道 -ar :声音采样率,可以用24000或48000,48000音质较好 -ab :声音码率。 如果上面用了立体声,这里就要设成原来的一半,这个例子中,原来想要设的是128,但由于用了立体声的关系,现在是64。 另外除了128,也可以選:32,48,64,96,越大音質就越好,檔案容量也越大另外除了128,也可以选:32,48,64,96,越大音质就越好,档案容量也越大 -f :使用啥格式,就选psp吧!~
放PSP需要一个.thm的预览图,也可以用ffmpeg来拍下, 用以下指令: # ffmpeg -i "InputFile" -f image2 -ss 2 -vframes 10 -s 160x120 -an "OutputFile.thm"
参数: -i :和上面转片时的用法一样,后面跟要拍的档案 -f :和上面转片时一样,"-f"是输出的格式,"image2"告诉ffmpeg要输出jpg档,即是要拍照片 -ss :参数是要拍第多少秒,这里拍第2秒, -vframes 10 :要截指定秒数中的第几帧,其实几多都可以,10就可以了(因为第一帧或数值太大可能会拍到黑色画面,10的话一般都OK) -s :和上面转片时的用法一样,用来设解析度 -an :不要声音,很难想像拍下来的图像档会有声音吧......
如果你的源影片上下有黑边的,就得先裁掉这些黑边,否则影像会变形。 以下引用自FFmpeg Documentation : '-croptop size' Set top crop band size (in pixels). '-cropbottom size' Set bottom crop band size (in pixels).
现在你应该明白怎样去边了吧! 有关ffmpeg的其他用法,请参考FFmpeg Documentation
Linux下用ffmpeg轉PSP影片 (MP4/AVC格式)相关推荐
- linux下使用ffmpeg将flv、mp4、rmvb转换为libx264的mp4
1.示例 ffmpeg -i testrmvb.rmvb -c:v libx264 -strict -2 testrmvb.mp4 2.java批量转换 public static void di ...
- 嵌入式linux下的FFmpeg交叉编译(最全面)
FFmpeg介绍 当下直播应用很火,在音视频领域,FFmpeg相当知名.可能你用的一些视频播放器背后都有它的身影.FFmpeg是一个开源的跨平台多媒体处理工具,可以用于处理音视频流.转码.封装.解封装 ...
- Linux下基于ffmpeg音视频解码
Linux下基于ffmpeg音视频解码 1.ffmpeg简介 FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以 ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]
转自:http://tech.c114.net/167/a674033.html 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究.结合对S3C6410处理器视频硬件编解码方法的分析,阐 ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
嵌入式Linux下基于FFmpeg的视频硬件编解码[图] http://www.c114.net ( 2012/3/1 15:41 ) 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究. ...
- Linux下用FFMPEG采集usb摄像头到RTMP
Linux下用 FFMPEG 采集 usb摄像头视频 和 摄像头内置麦克风音频 到RTMP服务 ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 - ...
- linux编译ffmpeg.exe,linux下编译FFmpeg
linux下编译FFmpeg 2020年01月11日 阅读数:12 这篇文章主要向大家介绍linux下编译FFmpeg,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. 1.首先获 ...
- linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls
linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls 报错 解决 ...
- linux下安装ffmpeg的教程
一.centos linux下安装ffmpeg的教程 1.进入官网下载 点击Download Source Code下载即可,此时得到压缩包ffmpeg-snapshot.tar.bz2 在压缩包目录 ...
- linux下安装ffmpeg的详细教程
一.centos linux下安装ffmpeg 1.下载解压 wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpe ...
最新文章
- int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!
- OSI与TCP/IP协议区别
- 子选择器与后代选择器的区别
- python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython
- Gartner:容器采用将迅速增长,但不会很快有利可图
- java java 大端_Java 大小端转换
- 用计算机打字英语单词,常用计算机专业英语词汇-前401-500单词
- 南阳oj92--图像有用区域(Bfs)
- 米斯特白帽培训讲义(v2)实战篇 迅雷 CMS
- @Html.ValidationSummary()作用
- creo绘图属性模板_CREO工程图模板创建
- 计算机中含有旧的mf驱动程序,打印机驱动在应用时的小窍门
- 金字塔图案——Java
- Python实现1~100猜数字小游戏
- 苹果开发者账号官方翻译篇-账号简介
- 【安卓开发】简单记账app功能实现开发-期末大作业个人总结
- 定位服务北斗位置云服务器,北斗位置云服务平台操作使用指南(157页)-原创力文档...
- Excel2007中固定表头或列
- MATLAB:指定坐标轴范围、轴向、位置
- eyou列表调用有缩图显示缩图,无缩图则不显示缩图