mencoder和ffmpeg参数详解 (Java处理视频) <第四篇>

Mencoder 转 flv 
mencoder -ffourcc FLV1 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -of lavf -oac mp3lame -lameopts aq=9:cbr:br=64:vol=2 -ovc lavc -lavcopts vcodec=flv:vbitrate=200:acodec=mp3:abitrate=56 -vf scale=320:270,expand=320:270:::1,crop=320:270:0:0 -ofps 18 -srate 22050 input.xxx -o output.flv

Mencoder 转 avi 
mencoder.exe -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 32000 -vf scale=220:176 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=320 "input.xxx" -o "output.avi" 
mencoder ../v/wmv.wmv -o ../v/wmv-3.flv -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3

mencoder -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 32000 -vf scale=220:176 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=320 "input.xxx" -o "output.avi"

mencoder -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 22050  -vf scale=320:-3 -ovc xvid -xvidencopts bitrate=600     "wmv.wmv" -o "wmv.avi"

mencoder -oac lavc -lavcopts acodec=mp2:abitrate=64 -srate 22050  -vf scale=320:-3 -ofps 15 -ovc xvid -xvidencopts bitrate=400  rmvb.rmvb -o rmvb.avi

mencoder 1.rmvb -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o rmvb.avi

RMVB转FLVCODE
mencoder -vf scale=320:240 -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate=200 -srate 22050 -oac lavc -lavcopts acodec=mp3:abitrate=56 ok/1.rmvb -o ok/rmvb.flv

利用ffmpeg的这两个参数,可以控制让ffmpeg来将一个大video劈分成许多小段的独立播放的文件。
-ss time_off        set the start time offset
-t duration         set the recording time

Mencoder截段参数:
-ss 0 
-endpos 120

FFmpeg 转 3gp:
ffmpeg -y -i **.** -ac 1 -acodec amr_nb -ar 8000 -ab 24 -s 128x96 [-vcodec mpeg4] -b 40k -r 8 **.3gp

FFmpeg 转 flv:
ffmpeg -i inputfile.xxx -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 -s 320x240 outputfile.flv

FFmpeg截图参数 
对视频文件截图: 
ffmpeg -i xxx.xxx -y -f image2 -ss 8 -t 0.001 -s 350x240 xxx.jpg

对已有flv截图: 
ffmpeg -i xxx.flv -y -f image2 -ss 8 -t 0.001 -s 350x240 xxx.jpg

把视频的前30帧转换成一个Gif : 
ffmpeg -i xxx.xxx -vframes 30 -y -f gif xxx.gif

截取从10秒开始持续10秒的片段

FFmpeg 加水印 参数:
ffmpeg -i inputfile.xxx -tagpict ":220:210" -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 -s 320x240 outputfile.flv

水印参数说明:
-tagpict ":220:210" 
(在ffmpeg所在目录中寻找0002.mjpg、mask.mjpg两个用作水印处理的图片文件,然后在指定的坐标,比如此处的:220:210,把水印在转码过程中添加到视频文件的每一桢上)

AviSynth加水印:
首先ffmpeg/Mencoder编译时需要--enable-avisynth;
转换参数:ffmpeg -y -i 1.avs -b 320k rmvb-avs.flv
1.avs编写格式:
video = DirectShowSource("rmvb.rmvb",15).BilinearResize(320,240)
logo = ImageSource("logo2.jpg")
logomask = ImageSource("mask2.jpg")
overlay(video,logo,mask=logomask)

mencoder 转 flv 同时加字幕水印

试了一下,可以加进去,但有些参数还设置不好.比如中文的字幕只显示成"_____",文件的各项设置
cd mencoder
mencoder ../file/test.mov -o ../flv/zbzbzb.flv -of lavf -oac mp3lame -lameopts abr:br=56 
-ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:v4mv:last_pred=3 -subpos 5 -subfont
-text-scale 10 -unicode -font c:/arial.ttf -sub ../file/test.srt -lavfopts 
i_certify_that_my_video_stream_does_not_use_b_frames -srate 22050 
pause
 
上面是在一个批处理文件中执行的,所以写成这样子
 
subpos 是说明字幕的位置:垂直方向上越大越靠下,水平方向的参数我没找到,最小0,最大100
subfont-text-scale 设置字体的大小
-unicode 文字编码方式,其他的没试过
-font 字体文件
-sub 你的字幕文件

时间: 2024-08-14 08:14:20

mencoder和ffmpeg参数详解 (Java处理视频) <第四篇>的相关文章

ffmpeg参数详解

a) 通用选项 -L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的... -f fmt 强迫采用格式fmt,如image2.gif -i filename 输入文件 -y 覆盖输出文件 -t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持 -ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持 -title string 设置标题 -author string 设置作者 -copyright

详解Java解析XML的四种方法

(1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允许应用程序对数据和结构做出更改. ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据. [缺点] ①通常需要加载整个XML文档来构造层次结构,消耗资源大. [解析详解] ①构建Document对象: DocumentBuilderFactory dbf = DocumentBu

Java学习之道:详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

【Java】详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XS

详解Java解析XML的四种方法(转)

XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xm

[转载]JAVA 命令参数详解:-D

原文链接:http://blog.sina.com.cn/s/blog_605f5b4f0100hlt9.html JAVA 命令参数详解: 1.-D<name>=<value> set a system property  设置系统属性. java -D参数简化加入多个jar java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时什么烦要一个个写,不能*.jar),面通常的jar都在同一目录,且多于1个.前些日子找到(发现)-Djava.ext.dirs太好

JAVA 命令参数详解System.setProperty(

JAVA 命令参数详解: 1.-D<name>=<value> set a system property  设置系统属性. java -D参数简化加入多个jar java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时什么烦要一个个写,不能*.jar),面通常的jar都在同一目录,且多于1个.前些日子找到(发现)-Djava.ext.dirs太好. 如: java -Djava.ext.dirs=lib MyClass 可以在运行前配置一些属性,比如路径什么的

【转】FFMPEG使用参数详解

目前又开始测MPEG1和MPEG2的解码,在准备编码好的测试序列过程中,需要通过编码器来进行原始视频序列的编码操作,以生成我们需要的测试数据.由于IPP example提供的Encoder不支持MPEG1,经过查询,决定MPEG1的编码使用FFMPEG.FFMEPG是个啥子东西呢,这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库. FFmpeg的官方网址是 http://ffmpeg.mplayerhq.hu/ . 中文Wiki是 http

VLC命令行参数详解

VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first. Options-styles:  --option  A gl