在命令行下输入此行代码:
mencoder file_of_input -o file_of_output -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050
关于命令中的一些参数,解释如下:
-o 是输出文件路径;
-of lavf:是输出文件格式,这里不是flv而是lavf,是因为flv属于libavformat;
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames:-lavfopts表示对lavf进行一 些设置,设置的内容就是i_certify_that_my_video_stream_does_not_use_b_frames,翻译成中文就是: 我确定,我的视频不用B frames,对于转换flv格式,最好加上这个参数,否则可能会报错.
-oac mp3lame:oac=output audio codec,输出音频编码器,这里用的mp3lame;
-lameopts abr:br=56:lame options,是专门针对mp3lame的参数设置,abr:br=56,是设置音频比特率为56(比特率:每秒钟输出的音频大小,单位kb/s);
-ovc lavc:ovc=output video codec,输出视频编码器,lavc表示one of libavcodec’s video codec,输出格式为libavformat之一,编码器当然也是libavcodec之一啦,至于libavodec里都有哪些编码器,可以查看Mplayer的官方文档;
-lavcoptsvcodec=flv:vbitrate=500:mbd=2:mv0:v4mv:trell:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1:对lavc进行一些设置,详细介绍如下:
vcodec=flv:指定视频编码器为flv;
vbitrate=500:指定视频比特率为500,这个参数很重要,vbitrate大了可以让视频品质增加,但会让文件变的很大(可以参考flash8自带的转换工具的参数:低品质为150kb/s,中等品质为400kb/s,高品质为700kb/s)。
mbd:宏模块选择算法,值为0~2默认为0,值越大转换越缓慢,但在品质和文件大小方面有好处;
mv0:编译每个宏模块并选择最好的一个,当mbd=0时无效;
v4mv:会稍微增加品质,mbd>0时效果更明显;
trell:量子化网格搜索,对每8×8block找到最优化编码;
cbp:只能和trell一期使用,评估失真的图像块编码;
last_pred=3:与上一帧相比的移动数量预测,值为0~99,1~3比较合适,大于3时对品质的提高已经无关紧要,但却会降低速度;
dia=4:移动搜索范围,值为-99~6,对于快速转换,-1是个不错的值,如果不是很重视速度,可以考虑2~4;
cmp=6:值为1~2000,默认为0,设置用于全象素移动预算的比较函数
vb_strategy=1:对动作很大的场景会有帮助,对有些视频,设置vmax_b_frames会有损品质,加上vb_strategy=1会好点。
以上是对-lavcopts的详细解释,接下来继续说明mencoder的参数:
-vf scale=512:-3:-vf表示视频格式,scale是缩放,512:-3表示强制将宽度设置为512,高度写为-3表示保持高宽比,也可以设置为-1或-2,具体表示什么,有兴趣的可以尝试一下。如果要强制转化为统一大小,可以直接写-vf scale=640:480,但笔者个人建议用-3来保持高宽比。-vf里还有expand和crop参数,例如:-vf scale=512:384,expand=512:384:::1,crop=512:384:0:0,expand表示膨胀,crop表示裁剪;
-ofps 12:输出视频的帧频,一般,用于flash播放的视频帧频高了没有没有意义,反而会增加视频文件大小,但如果ofps设置的不合适,比如源视频帧频不是ofps的整数倍,可能会导致转换后的视频、音频不同步,似乎可以将这一参数改为-noskip来解决这一问题;
-srate 22050:音频采样率一般为22050或44100。
对于转换flv格式,lavsopts的设置比较重要.
摘录: blogger.org.cn/blog/more.asp
分享到:
相关推荐
在本场景中,我们关注的是如何利用ASP.NET技术进行视频格式转换,特别是将视频转换为FLV(Flash Video)格式。FLV是Adobe Flash Player支持的一种流媒体格式,广泛应用于网页中的在线视频播放。 在提供的压缩包中,...
要将视频转换为FLV格式,使用FFmpeg的基本命令格式如下: ```bash ffmpeg -i 输入视频文件 -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128k 输出的FLV文件 ``` 这里,`-i` 参数指定输入视频文件,`-c:v ...
FFmpeg和MEncoder是两种广泛使用的开源视频处理工具,它们都可以将不同的视频格式转换为FLV(Flash Video)格式,适合在Web上进行流媒体播放。让我们深入了解一下这两个工具及其在视频转码过程中的应用。 FFmpeg是...
在本DEMO中,mencoder被用来将视频转换为FLV格式,这是一种广泛应用于网络流媒体的格式,因其体积小、播放流畅而受到欢迎。转换过程通常包括以下步骤: 1. 首先,确定源视频文件的位置和输出目标。 2. 使用mencoder...
,能够将.asf|.flv|.avi|.mpg|.3gp|.mov|.wmv|.rm|.rmvb格式的文件转换成flv格式,里面包含mencoder.exe,mencoder.exe,ffmpeg.exey以及详细的视频格式转换代码,经过测试使用
在本文中,我们将深入探讨如何使用Java程序调用FFmpeg执行视频文件格式转换,特别是将非FFmpeg原生支持的格式转换为FLV格式。FFmpeg是一个强大的多媒体处理工具,支持多种视频、音频格式的编码、解码和转换。在这个...
FFMPEG可以将多种格式的视频转换成FLV格式,而MENCODER可以将ITfl和rmvb格式的视频转换成FLV格式。 在视频转换过程中,需要首先将视频文件上传到服务器,然后使用FFMPEG和MENCODER将其转换成FLV格式,最后将其嵌入...
通过以上介绍,我们可以看到,无论是使用ffmpeg还是mencoder,转换视频到FLV格式都相对简单,而在C#中调用这些工具,可以方便地集成到自动化处理流程中。这在处理大量视频文件时非常有用,提高了工作效率。当然,...
在安装完成后,可以直接在命令行中调用mencoder进行视频转换,通过指定输入文件、输出文件以及转换参数来执行任务。 9. **注意事项** 由于mencoder是一个命令行工具,所以对命令行语法有一定的学习要求。此外,...
这用于决定使用哪种工具进行视频转换。 ### 五、视频转换流程 1. **文件上传**: 用户上传视频文件至指定目录(`upfile`)。 2. **格式检查**: 确保上传文件格式正确。 3. **选择工具**: 根据上传文件的格式,选择...
例如,在一个名为`VideoConverter`的项目中,我们可以编写脚本,先通过mencoder进行视频转换,然后使用ffmepg截取关键帧,最后利用flvmdi插入时间标签,形成一个完整的工作流。 总结来说,mencoder、ffmepg和flvmdi...
以下是一个简单的示例,展示如何使用Java调用FFmpeg进行视频转换: ```java import java.io.IOException; public class VideoConverter { public static void main(String[] args) { String inputFilePath = ...
3. 视频转换:根据用户选择的目标格式,调用mencoder进行转换操作。 4. 文件存储:转换后的视频保存在服务器上。 5. 下载链接生成:为用户提供下载转换后文件的链接或直接在线播放。 四、ASP.NET相关技术 根据文件...
mencoder支持几乎所有的格式的视频转换,可以将任意格式转换到任意格式,转换功能可以说是相当强大。目前市面上流行的格式转换器,都是基于mencoder开发的GUI,比如暴风转码,格式工厂等。可以说转换器能办到的,...
在处理各种媒体格式时,mencoder提供了一种灵活且高效的解决方案,支持多种输入和输出格式,使得用户可以在不同的设备和平台之间无缝迁移视频内容。 1. **mencoder的安装与配置** 在大多数Linux发行版中,mencoder...
在本文中,我们将深入探讨 mencoder 的基本用法,以及它如何将不同格式的视频转换成 FLV,适用于网络流媒体发布或在线视频平台。 FLV(Flash Video)是Adobe公司开发的一种视频格式,特别适合在网络上传输,因为它...
例如,将一个MP4视频转换为FLV格式,可以使用以下代码: ```java JAVE jave = new JAVE("input.mp4", "output.flv"); jave.addInputParam("-i", "input.mp4"); jave.addOutputParam("output.flv"); jave.execute();...
mencoder 是一款命令行方式的视频处理软件,是Mplayer自带的编码工具,mencoder支持几乎所有的格式的视频转换,可以将任意格式转换到任意格式,转换功能可以说是相当强大。目前市面上流行的格式转换器,都是基于...
最新版FFMPEG,支持水印命令,可将多种常见格式视频文件转换为FLV或者其他格式,最新版mencoder,支持将rm,RMVB,WMV转换为AVI,flv或者其他多种格式。亲测通过。
要使用mencoder将视频文件转换为`.flv`格式,你可以使用以下命令格式: ```bash mencoder input_video_file -o output.flv -of lavf -oac mp3lame -lameopts abr:br=64 -ovc lavc -lavfopts i伏=flv -vf scale=...