`
samuschen
  • 浏览: 406020 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

从MPG切割,合并到转换成FLV视频过程中可能遇到的一些问题(主要用到mencoder ffmpeg flvtool2)

阅读更多

目标:将MPG或AVI等其他格式的视频源进行切割或合并 最终转换成FLV视频文件 并能够在FLVPlayer中播放 可以随意拖放 前进n秒 后退n秒
具体步骤
目前有两个非常出名的视频处理工具 都是在命令行下使用 可以做成批处理命令 相当方便
1. mencoder 著名的视频处理工具
2. ffmpeg 著名的视频处理工具

先来介绍下两个工具的特点
mencoder在网上一搜可以搜出许多的资料 可以用来转换视频 切割视频 合并视频.
ffmpeg的资料也有不少 同样用来转换视频格式 切割视频等 ,但是不能支持视频的合并 .(但我们最终还是采用了ffmpeg而非mencoder)
两者都支持大部分的视频格式.

还有一个工具: FLVtool2 是为FLV添加标签信息的工具 添加之后 FLV的信息就完整了 ,可以进行拖放等操作.

对视频源的切割和转换成FLV格式mencoder和ffmpeg都可以实现
对于视频的合并, ffmpeg不直接支持.

我们首先用mencoder切割一段视频 然后转换成FLV格式 , FLVPlayer可以播放,但出现了问题 , 点击播放器的前进1s ,结果视频前进了10s,点前进5s,视频还是前进了10s . 这一点很是纳闷 , 后来找到Flvtool2这个加flv信息的工具 对该FLV文件进行处理时 发现FLV的KeyFrames是每隔10s一帧.我们知道FLV视频的播放原理和Flash的一样 ,是通过关键帧实现的,非关键帧中没有包括完整的图像信息,播放器的跳转到某一秒的功能是通过NetStream.Seek(n)方法实现的.而seek 是找到第n秒时最近的关键帧 , 所以当我们点击前进1到10s时 , 都是前进到了10s . 这样看来mencoder转换出来的FLV是不符合要求的. 虽然能播放但不能随意调整播放进度.

于是只有转向ffmpeg这个工具 发现ffmpeg转出来的FLV,用FLVtool2添加上信息后, 每秒钟有两个关键帧 , 这样就满足了需求.

下面面临的是视频合并的问题 , 用mencoder合并的视频文件虽然在暴风影音里面可以播放 ,但实际上是损坏了视频文件的格式 , 合并的文件在ffmpeg或flvtool2中都不能被识别出来 .看来mencoder的视频合并功能也并不理想 .

现在就面临视频合并的难题 ,mencoder转换的不合格,ffmpeg又不能支持合并 . 后来查到可以通过windows下的copy命令或linux下的cat命令实现. 于是尝试了一下.
命令打开如下:
copy test1.mpg/b + test2.mpg/b test3.mpg/b
其中test1 和 test2是要合并的文件 test3.mpg是输出的视频文件 我们注意到在每个文件的后面加了个"/b" , 这个参数很重要 , 使用help copy就可以了解到对于二进制文件的拷贝需要在后面加\b . 然后在利用FLVtool2添加标记信息 发现flvtool2是能处理合并后的文件的 .

这样得到FLV文件可以在FLVPlayer中随意的拖放和精确到秒的定位.于是大功告成了.

到这里我们可以发现都是mencoder误了事情 , 用ffmpeg进行视频的切割和转换格式都满足了要求 .因此可以把mencoder给淘汰出去了, 呵呵 .

mencoder和ffmpeg的命令行参数 网上的资料多的很 我就不在这里罗列了 ,其实在命令行中看它们自带的帮助信息就可以了解个大概 ,够用了.

FLVTool2的资料用google的英文搜索也可以搜到一篇讲如何添加信息的教程 .

FLVPlayer用的是Javascript 控制 Flash FLV视频播放器 --国外开源 这篇文件介绍的播放器 功能是十分强大的 有源码可以方便自己定制 .

分享到:
评论

相关推荐

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

    在这个过程中,我们将涉及到几个关键组件,包括FFmpeg、Mencoder以及一些必要的DLL文件。 首先,确保你已经在Windows环境下配置了FFmpeg、Mencoder以及所需的驱动文件,如drv43260.dll和pncrt.dll。这些文件必须...

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

    转换过程中,可能会遇到的问题包括兼容性问题、编码参数调整、质量与体积之间的平衡等。对于初学者来说,理解不同编码器和参数的含义是至关重要的。此外,转换效率也会受到硬件性能的影响,例如CPU的编码加速能力、...

    ffmpeg+mencoder两种视频转换成flv的文件

    在视频转换场景中,FFmpeg可以轻松地将多种视频格式转换为FLV,以适应网络播放需求。使用FFmpeg进行转换的基本命令如下: ```bash ffmpeg -i input_video.mp4 -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128...

    mencoder视频格式转换+ffmpeg视频截图DEMO

    在本DEMO中,mencoder被用来将视频转换为FLV格式,这是一种广泛应用于网络流媒体的格式,因其体积小、播放流畅而受到欢迎。转换过程通常包括以下步骤: 1. 首先,确定源视频文件的位置和输出目标。 2. 使用mencoder...

    基于FFMPEG和MENCODER的视频转换PHP网页.pdf

    在视频转换过程中,需要首先将视频文件上传到服务器,然后使用FFMPEG和MENCODER将其转换成FLV格式,最后将其嵌入PHP网页中。这个过程可以自动完成,无需人工干预。 PHP网页是指使用PHP语言编写的网页程序。PHP是一...

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

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

    ffmpeg、mencoder转码工具

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

    ffmpeg和mencoder的总结

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

    ffmpeg合并视频的多种方式.docx

    FFmpeg 是一个强大的开源工具,用于处理音频和视频文件,包括转换、编辑、合并等多种功能。在本文中,我们将探讨几种使用 FFmpeg 合并视频的无损或有损方法,针对不同类型的视频源和需求。 **方法一:FFmpeg concat...

    视频转码工具ffmpeg.exe和mencoder.exe

    在多媒体处理领域,FFmpeg和MEncoder是两个非常重要的视频转码工具,广泛应用于各种视频格式的转换、编码和解码。这两个工具都是基于命令行的,因此它们提供了高度的灵活性和控制,使得用户能够根据具体需求进行定制...

    ffmpeg+mencoder集合

    1. **视频转换**:基本用法类似于FFmpeg,但选项可能有所不同: ``` mencoder input.avi -o output.mp4 -ovc lavc -oac mp3lame ``` 2. **保持原始纵横比**:使用`-keepaspect`选项: ``` mencoder input.mp4 ...

    ffmpeg和mencoder视频文件

    在使用FFmpeg和MEncoder时,要注意版权和许可证问题,因为它们的一些组件可能受到不同的许可限制。另外,确保你对命令行参数有深入理解,以避免处理过程中出现错误或不期望的结果。 总的来说,这个压缩包提供了一套...

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

    【标题】"Flv,ffmpeg,mencoder,flvmdi,mediainfo,mpc在线转换程序"涉及到的关键技术是视频处理和在线转换服务,主要工具包括ffmpeg、mencoder、flvmdi、mediainfo和mpc。这些工具在IT行业中扮演着重要的角色,特别...

    mencoder+ffmpeg

    总结来说,mencoder和ffmpeg都是强大的视频处理工具,它们能够灵活地处理各种视频格式,包括将视频文件转换为`.flv`格式。在多媒体开发、内容发布和在线流媒体服务中,掌握这两个工具的使用方法对于提高工作效率至关...

    FFmpeg和mencoder的音视频转码工具

    压缩包中的文件如`ffmpeg.exe`和`mencoder.exe`是这两个工具的可执行文件,`pncrt.dll`、`drv43260.dll`和`pthreadGC2.dll`可能是必要的动态链接库文件,用于支持这两个工具的运行。在Windows系统上,这些文件通常...

    asp.net 视频格式转换成flv格式

    3. **转换过程**:mencoder或ffmpeg根据提供的参数执行转换操作,将源视频编码为FLV格式。这可能需要一定时间,尤其是对于大文件,因此在实际应用中,可能需要考虑异步处理或者提供进度反馈。 4. **存储转换后的...

    ffmpeg+mencoder+使用说明

    FFmpeg和MEncoder是两个非常重要的开源命令行工具,用于处理多媒体文件,特别是视频和音频。它们在IT行业中被广泛用于视频格式转换、编码、解码、剪辑、合并等多种任务。在这里,我们将深入探讨这两个工具以及它们在...

    基于mencoder实现的视频截取合并demo

    当有多段视频需要拼接成一个完整视频时,就需要用到合并功能。mencoder通过`-oac copy -ovc copy`参数可以无损地合并视频,这些参数表示音频和视频流直接复制,不做任何编码处理。使用`-input filelist.txt`参数,...

    mencoder视频转换工具

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

Global site tag (gtag.js) - Google Analytics