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

利用ffmpeg+mencoder视频转换的总结(转)

阅读更多

Youtube的成功,使得国内的视频网站如雨后春笋般的冒出来,前不久朋友叫我帮他写一个将各种视频格式转换成flv的程序,这里就将编写程序遇到困难和获得的经验拿出来和大家分享一下。

1、使用引擎:ffmpeg + Mencoder


2、ffmpeg最新版本的下载地址:
http://ffdshow.faireal.net/mirror/ffmpeg/
Mencoder新版本的下载地址:
http://www5.mplayerhq.hu/MPlayer/releases/win32/


3、转换速度比较:总体上ffmpeg转换的速度快于Mencoder


4、转换格式要求:rm、rmvb、rt格式的文件只能用Mencoder转换,出于速度考虑我基本上都用ffmpeg转换,所以Mencoder能转换的格式我没有详细测试(哪个朋友知道,麻烦你告诉我下,我补充上去)。


5、纯音频格式只能用Mencoder进行转换。如何判断是否是纯音频格式可以通过使用命令 FFmpeg -i "文件的完整路径" 获得输出后就可以分析出来。


6、.mov格式的用ffmpeg转换出来的效果比较差,建议用Mencoder进行转换,wmv8用ffmpeg经常会有花屏产生建议用Mencoder。


7、视频按比率输出的问题:必须先获取源视频文件的宽度和高度(也是通过 FFmpeg -i "文件的完整路径" 获得输出后就可以分析出来)根据这个高度和宽度的比率来设定输出文件的尺寸。


8、可能的难点:因为这ffmpeg 和 Mencoder都是命令行工具(当然你也可以下载源代码自己修改成com之类的),在C#只能用Process调用,前面我提过要获得输出信息(获取视频相关信息、获取当前的转换进度、获取什么时候完成转换),必须设置process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true;然后必须通过异步编程的方式获取Process.StandardOutput和Process.StandardError的值,相关说明可以见(ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDiagnosticsProcessClassStandardOutputTopic.htm)(必须安装了msdn的才能看)。


本文旨在帮助大家少走一些弯路,并不提供实际的解决方案及相关的源码下载。

 

分享到:
评论

相关推荐

    ffmpeg+mencoder集合

    FFmpeg和MEncoder是两个非常强大的开源多媒体处理工具,它们在音视频编解码领域具有广泛的应用。在Windows环境中,这两个工具通常以可执行文件(.exe)的形式存在,允许用户通过命令行进行操作,无需复杂的安装过程...

    JAVA 利用 ffmpeg 和 mencoder 对视频进行转换

    总结来说,利用Java结合FFmpeg和mencoder进行视频转换,开发者可以实现高度自定义的视频处理功能。这两个工具提供了丰富的选项和参数,可以满足从基本的格式转换到复杂的视频编辑需求。然而,使用它们时需要注意平台...

    利用ffmpeg、mencoder转换视频格式为FLV格式

    FFmpeg和mencoder是两种广泛使用的开源工具,用于处理音视频文件,包括转换视频格式为FLV(Flash Video)格式。在本文中,我们将深入探讨这两个工具,了解它们的工作原理,以及如何使用它们来完成视频格式转换。 ...

    ffmpeg和mencoder的总结

    FFmpeg和MEncoder是两种广泛使用的命令行工具,主要用于音视频处理和转换。它们在多媒体领域扮演着重要的角色,尤其对于视频制作者、开发者和系统管理员来说,掌握这两个工具的基本用法和高级特性至关重要。 FFmpeg...

    ffmpeg和mencoder视频文件

    FFmpeg和MEncoder是两个非常重要的开源工具,主要用于视频处理和转换。在Java开发中,它们经常被用作后台处理视频的工具,因为它们提供了强大的命令行接口来处理各种视频和音频格式。 FFmpeg是一个全面的、跨平台的...

    用java程序调用ffmpeg执行视频文件格式转换flv

    总结来说,通过Java调用FFmpeg和Mencoder进行视频格式转换,需要理解这两个工具的命令行语法,以及如何在Java中执行外部进程。此过程涉及到文件类型的检查、预处理转换(如果必要)、最终的格式转换以及错误处理,...

    ffmpeg、mencoder转码工具

    FFmpeg和MEncoder是两种广泛使用的命令行工具,主要用于音视频的编码、解码、转换以及流处理。在IT行业中,这些工具对于处理多媒体数据,尤其是视频内容的开发者和运维人员来说,是不可或缺的。 FFmpeg是一个开源...

    mencoder视频转换工具

    **mencoder视频转换工具详解** mencoder是一款强大的命令行视频编码和转换工具,它是MPlayer项目的组成部分,由其开发团队创建。MPlayer以其强大的播放能力而闻名,而mencoder则在视频处理领域提供了丰富的功能,...

    最新版本编译好的ffmpeg和mencoder

    FFmpeg和MEncoder是两个非常重要的开源多媒体处理工具,在音视频领域有着广泛的应用。它们都是由FFmpeg项目开发,但各自具有不同的侧重点。 FFmpeg是一个全面的、跨平台的命令行工具,用于处理各种多媒体文件。它...

    ffmpeg 及 mencoder的 exe可执行程序

    FFmpeg和MEncoder是两种广泛使用的开源视频处理工具,它们都是命令行界面的可执行程序,可以在各种操作系统上运行,包括Windows XP。这两个工具在IT行业中对于视频编码、转换、编辑以及流媒体处理等方面有着至关重要...

    Flv,ffmpeg,mencoder,flvmdi,mediainfo,mpc在线转换程序

    在线转换程序利用上述工具,构建了一个服务,允许用户上传FLV或其他格式的视频,然后通过服务器上的ffmpeg、mencoder等进行转换,生成目标格式的视频。这个过程通常涉及视频的解码、重新编码、水印添加以及元数据...

    mencoder视频转换程序

    例如,在一个名为`VideoConverter`的项目中,我们可以编写脚本,先通过mencoder进行视频转换,然后使用ffmepg截取关键帧,最后利用flvmdi插入时间标签,形成一个完整的工作流。 总结来说,mencoder、ffmepg和flvmdi...

    Java+Windows+ffmpeg实现视频转换功能

    _在这个解决方案中,核心是利用ffmpeg进行视频转换,我们自己并不写转换视频的代码,只是调用ffmpeg,它会帮我们完成视频的转换。ffmpeg支持的类型有:asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等,这些类型,...

    asp.net中将各种视频文件转换成.flv格式

    正确配置应用设置、理解并利用FFmpeg和Mencoder的能力、以及精心设计前后端交互流程,是成功实现这一目标的关键。通过以上步骤,开发者能够构建一个高效、可靠的视频处理系统,满足在线视频平台的多样需求。

    mencoder媒体格式转换

    为了提高编码速度,mencoder支持多线程编码,可以通过`-threads`参数指定线程数,充分利用多核处理器资源。 7. **分段与合并** 对于大型文件,可以使用`-ss`和`-endpos`参数进行分段编码,然后使用外部工具如`...

    java调用视频转换工具ffmpeg[归纳].pdf

    ### Java调用视频转换工具FFmpeg知识点归纳 #### 一、环境配置与文件准备 **1.1 FFmpeg工具的安装与...通过以上步骤,我们可以利用Java结合FFmpeg工具实现对多种视频格式的支持和转换,从而满足不同的应用场景需求。

    在ASP.Net中实现flv视频转换

    通过上述介绍,我们了解了如何在ASP.NET环境中利用FFmpeg和MEncoder实现FLV视频转换。这不仅有助于提高视频内容的兼容性和可访问性,还可以根据不同的应用场景灵活调整输出质量,满足用户需求。对于开发人员而言,...

    java视频格式转换

    FFmpeg和MEncoder是两个非常强大的命令行工具,常用于音频和视频的处理,包括格式转换。本篇文章将详细探讨如何在Java中利用这两个工具进行视频格式转换。 首先,让我们了解FFmpeg。FFmpeg是一个开源的跨平台项目,...

    视频转换和截图的代码

    本文将基于提供的代码片段进行深入分析,旨在理解如何利用FFmpeg和encoder实现视频格式转换及截图功能。 #### 一、FFmpeg简介 FFmpeg是一个强大的跨平台多媒体框架,支持多种音频、视频编解码器以及容器格式。它...

Global site tag (gtag.js) - Google Analytics