- 浏览: 1010174 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
文章2: 最近完成了这个小Demo,来分享一下! 这里讲一下重要的: 这里有一个重点,网上的文章都没讲到,所以造成有些人运行后没反应,原因是上面路径的下载,有很多版本,不同的版本可能个别参数不同,而网上的文章所用的参数都是用很早的版本写的,所以会造成运行后因参数错误而没有效果 2.判断处理成功与失败或是进度是否完成,从异步获取的输出信息判断[包括获取原视频的宽与高] 文章3: 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、r
Youtube的成功,使得国内的视频网站如雨后春笋般的冒出来,前不久朋友叫我帮他写一个将各种视频格式转换成flv的程序,这里就将编写程序遇到困难和获得的经验拿出来和大家分享一下。 本文旨在帮助大家少走一些弯路,并不提供实际的解决方案及相关的源码下载。
大家应该都知道Youtobe、Google Video之类视频分享网站。他们的视频全部是使用Flash播放,而通过探索实际地址,会发现下载回来的东西都是Flash支持的FLV格式。这种格式的视频,播放和转换是非常麻烦的。但是,有一个源于Linux的工具软件ffmpeg可以轻易地实现FLV向其它格式(avi(mpeg4)、asf、mpeg)的转换或者将其它格式转换为flv。
=OD'GuQ
ffmpeg作为Linux下的LGPL开源程序,在Windows下编译需要特殊的工具。我这里提供的ffmpeg.exe是2004年的旧版本,使用MinGW编译,只有一个可执行文件,可直接运行(命令行程序)。
b<td|kk
FLV向其它格式(avi(mpeg4)、asf、mpeg)转换的简易方法:(圆括号内必填,方括号内可选)
khOG Kh*
转换成wmv/asf
JZvQCf;$
ffmpeg -i (要转换的flv文件完整路径) -f asf -vcodec (wmv1或wmv2) [-b 视频码率] -acodec mp3 [-ab 音频码率] (输出的asf/wmv文件完整路径)
!.C1}Wf
转换成mpeg1
n Xa Os&
ffmpeg -i (要转换的flv文件完整路径) -f mpeg -vcodec mpeg1video [-b 视频码率] -acodec mp2 [-ab 音频码率] (输出的mpg文件完整路径)
=mmBjG}0{
转换成avi(msmpeg4)
z4%EYCZ'
ffmpeg -i (要转换的flv文件完整路径) -f avi -vcodec (msmpeg4或msmpeg4v1或msmpeg4v2) [-b 视频码率] -acodec mp3 [-ab 音频码率] (输出的avi文件完整路径)
AImbKhOK'
上面给了我两天时间,来完成这个小功能
于时我花了半天时间从网络上到处鄱资料,又花了半天时间调试代码,成功之后,终于有了以下一点的经验之谈:
1.用到两个工具,一个是ffmpeg.exe,另一个是mencoder.exe
ffmpeg最新版本的下载地址:http://ffdshow.faireal.net/mirror/ffmpeg/
Mencoder新版本的下载地址:http://www5.mplayerhq.hu/MPlayer/releases/win32/
简单处理是:把网上参数在cmd命令行执行一下,这时命令行会报哪个参数错误,把它删了即可!
这里重点在两个委托事件中,详情见以下几行代码 private void StartProcess(string tool)
{
StartProcess(tool, false);
}
private void StartProcess(string tool,bool onlyCheckInfo)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = tool;
p.StartInfo.Arguments = commandPara;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
p.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(p_OutputDataReceived);
if (onlyCheckInfo)//只检测文件是否可转换与获到内部宽与高
{
p.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(p_CheckInfoDataReceived);
}
else
{
p.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(p_ErrorDataReceived);
}
//开始执行
try
{
p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();
p.WaitForExit();
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
finally
{
p.Close();
}
}
void p_CheckInfoDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
if (e.Data.Contains("Stream") && e.Data.Contains("Video:"))//设置原视频窗口大小作为flv视频的宽与高
{
Match match = Regex.Match(e.Data, @", (\d+)x(\d+)");
if (match != null)
{
videoWidth = match.Groups[1].Value;
videoHeight = match.Groups[2].Value;
}
}
else if (e.Data.Contains("could not find codec parameters"))//ffmpeg转换失败
{
isCanChangeToFlv = false;
Program.SetDataBase(id, 1, count + 1);
}
}
}
void p_ErrorDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
if (e.Data.Contains("video:") && e.Data.Contains("muxing overhead"))//ffmpeg转换完成
{
Program.SetDataBase(id, 2, count + 1);
Console.WriteLine("转换完成");
}
Console.WriteLine(e.Data);
}
}
void p_OutputDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
if (e.Data.Contains("Writing index"))//mencoder转换完成
{
Program.SetDataBase(id, 2, count + 1);
Console.WriteLine("转换完成");
}
//else if (e.Data.Contains("Exiting"))//mencoder转换失败
//{
// Console.WriteLine("转换失败");
//}
Console.WriteLine(e.Data);
}
}
本文只讲重点,请结合网络其它文章与本文即可!
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的才能
看)。
有其他任何问题欢迎大家在本文章发布留言。
发表评论
-
SWFTOOLS PDF2SWF 参数详解(转)
2012-01-08 16:35 2336SWFTools提供了一系列将各种文件转成swf的工具: ... -
swftools安装
2010-12-06 20:35 1989安装swftools工具时,在windows平台下是很简单的事 ... -
swftools转换文件时线程堵塞问题的解决方法
2010-11-26 09:55 5236在使用swftools工具作转换时,最需要注意的是对转换 ... -
pdf2swf fails to transform with the default options when the pdf are too large,
2010-11-25 14:10 4825if the pdf contains too many im ... -
[JODConverter]word转pdf心得分享(转)
2010-11-22 10:12 37806官方网站: http://www.artofsolving. ... -
flash 安全沙箱冲突
2010-10-28 20:46 7155下载flexpaper源码修改后做成swf阅读器,要加入待阅读 ... -
LInux下如何安装ffmpeg(转)
2010-10-11 13:55 1950终于装上了,把过程记录一下 首先要安装各种解码器 ... -
Flex Paper 源码编译
2010-10-02 09:05 8689FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组 ... -
判定文件编码(文本流编码)的方法(转)
2010-09-25 12:53 1717在程序中,文本文件经常用来存储标准的ASCII码文本,比如英文 ... -
java使用jchardet检测文本文件(字节流)的编码方式(转)
2010-09-25 12:41 2324有时需要InputStreamReader(InputStre ... -
jodconverter纯文本文件转为pdf时中文问题解决方案
2010-09-25 12:31 5092jodconverter转换ms文件都 ... -
swftools使用注意
2010-09-15 10:00 2256swftools处理堵塞问题,请看文章:Process的wai ... -
mencoder环境搭建
2010-09-06 17:33 15491 到http://www.mplayerhq.hu/desi ... -
Mencoder常用视频转换参数(转)
2010-09-06 17:14 2899参数详解:1、-ofps 15 :帧速率15fps ... -
Mencoder常用视频转换参数(转)
2010-09-06 17:13 2143参数详解: 1、-ofps 15 ... -
利用ffmpeg+mencoder视频转换的总结(转)
2010-09-06 17:00 2781Youtube的成功,使得 ... -
ffmpeg+mencoder环境搭建和视频处理总结(转)
2010-09-06 16:54 4397ffmpeg+mencoder几乎可以完成目前基于web的播客 ... -
Mencoder转换flv参数详解(转)
2010-09-06 16:24 2599Mencoder简介: Mencoder是Mpl ...
相关推荐
在提供的压缩包文件"视频转码工具ffmpeg.exe和mencoder.exe"中,包含的是这两个工具的可执行文件,用户可以直接在命令行环境下运行它们进行视频转码操作。需要注意的是,使用这些工具之前,确保系统已经安装了相应的...
drv33260.dll drv43260.dll ffmpeg.exe mencoder.exe Pncrt.dll以及java程序drv33260.dll drv43260.dll ffmpeg.exe mencoder.exe Pncrt.dll以及java程序drv33260.dll drv43260.dll ffmpeg.exe mencoder.exe Pncrt....
FFmpeg 是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、分割、合并等操作。在Windows 32位系统中,FFmpeg 的可执行文件通常为 `ffmpeg.exe`,它是整个FFmpeg套件的核心组件。这个32位版本的 ...
FFmpeg 是一套能够处理多媒体数据(音频、视频、字幕等)的开源计算机程序库和命令行工具,广泛应用于音视频处理、转码、流媒体等领域1。 要使用该压缩包,通常需要以下步骤: 下载 ffmpeg-6.1.1.tar 压缩包。 ...
ffmpeg-win-2.2.2.zip dll 32位 avcodec-55.dll avdevice-55.dll avfilter-4.dll avformat-55.dll avutil-52.dll ffmpeg.exe 等
6. **libswscale**:用于色彩空间转换和视频尺寸调整,确保视频在不同设备和格式之间兼容。 7. **libswresample**:音频重采样库,用于处理不同采样率、位深度和通道数的音频。 8. **libavdevice**:提供与硬件...
lav filters 是一组基于 ffmpeg 项目中的 libavformat/libavcodec 库的 directshow 分离器和音视频解码器,几乎允许您在 directshow 播放器中播放任何格式的媒体文件!
FFmpeg 是一个强大的开源多媒体处理工具,包含了三个主要组件:ffmpeg.exe、ffprobe.exe 和 ffplay.exe,这些都是针对 Windows 64 位平台的静态编译版本,因此在使用时无需依赖其他额外的库或软件。 1. **ffmpeg....
mp4边播变下格式转换,在cmd中,切换到所在目录,输入qt-faststart.exe a.mp4 b.mp4 即可。或者添加环境变量,然后在任意目录下转换
Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
在本场景中,我们将重点讨论如何利用`ffmpeg.exe`这个可执行文件,配合`pthreadGC2.dll`这个动态链接库,将视频文件转换为FLV(Flash Video)格式。 FLV是Adobe Systems开发的一种流行的网络流媒体格式,常用于在线...
1. **找到解压路径**:解压“ffmpeg-release-essentials.zip”,确保找到包含“ffmpeg.exe”和其他可执行文件的“bin”目录。 2. **设置环境变量**: - 右键点击“计算机”或“此电脑”,选择“属性”。 - 在左侧...
使用当前2020最新版ffmpeg编译好的lib包,vs2019可编译的ffmpeg.exe的源码.下载后可直接编译调试,了解ffmpeg.exe实现的原理。 打印版本号: ffmpeg version N-99305-gbc0e776 Copyright (c) 2000-2020 the FFmpeg ...
1. **多媒体编码和解码**:FFmpeg 支持大量的音频和视频编解码器,如 H.264, H.265 (HEVC), VP9, AAC, Opus 等,能够对多种格式的媒体文件进行编码、解码、转码。 2. **容器格式处理**:它能处理多种容器格式,如 ...
FFmpeg 是一个强大的开源多媒体处理工具,用于处理音频和视频文件。这个压缩包"ffmpeg-4.3.1(ffmpeg.zeranoe.com)(win32 win64).rar"包含了FFmpeg的4.3.1版本,适用于Windows操作系统,包括32位(win32)和64位(win...
这个压缩包“ffmpeg.exe&ffprobe.exe&ffplay.exe.zip”包含了这三个实用程序,方便在Windows环境下进行网络流转码工作。 **FFmpeg** 是一个全面的、跨平台的解决方案,用于处理音频、视频文件。它支持转换、编码、...
FFmpeg是一款强大的跨平台多媒体处理工具,用于转换、编码、解码、流化音频和视频。这个"ffmpeg-4.2.2-win64-static.zip"压缩包包含了FFmpeg的预编译静态版本,适用于Windows 64位操作系统。下面我们将深入探讨...
FFmpeg 是一个强大的开源多媒体处理工具,包含了多个组件,如 ffmpeg.exe、ffplay.exe 和 SDL.dll,它们在处理音视频方面发挥着至关重要的作用。这个压缩包提供的正是这些核心组件,使得用户无需复杂的配置,就能在...
FFmpeg 是一个强大的开源多媒体处理工具,它支持各种视频、音频格式的编码、解码、转换和流化。在C#编程中,我们可以通过调用FFmpeg的命令行工具FFmpeg.exe来实现视频处理功能,比如视频截图。下面将详细介绍如何在...
标题中的“ffmpeg-php扩展 ffmpeg.exe php视频格式转换”指的就是使用ffmpeg-php这个PHP扩展,配合ffmpeg.exe可执行文件,实现PHP脚本对视频文件的格式转换功能。这个扩展提供了PHP接口,使得开发者可以轻松地调用...