IsaacZ 发表于 2010-4-25 00:07:09

免渲染直接分离与合成音频流与视频流

本帖最后由 IsaacZ 于 2010-5-15 10:20 编辑

【转贴】


  一个视频文件通常是由视频流与音频流组成的,视频播放的时候,实际上是由分离器将视频流与音频流拆分,分别由各自的解码器进行解码,然后同步播放。

  我们在非编处理的时候,往往需要单独提取出来视频流或是音频流使用,看了多数给出的方法是导入非编进行处理,分别进行渲染视频和音频,其实这是一种不可取的方法!非编处理应该以尽量减少渲染次数为标准,因为现在根本没有无损的转码,所以在处理视频时,能尽量不渲染就不渲染。那么这种提取视频流与音频流或者合成视频流与音频流也应该是不渲染最好!

  一、免渲染分离视频流与音频流

  下面提供一些不通过渲染得到视频流与音频流的方法。首先说一下分解,把一个有声音的视频分解,分别得到无声视频和音频可以通过分离器直接分解。
当然这个需要对命令行编码操作有所了解,可以通过编写命令行参数直接提取(比如用通过mencoder用查代码的方法直接提取AVI的音频)
  最方便的方法是利用工具软件,下面介绍一款:Total Video Converter






  见上图,这里就提供了“复用视频与音频”(即合并视频流与音频流),抽取视频与音频的选项。这样就可以不渲染直接提取视频与音频,合成视频与音频了……如果遇到TVC不支持的格式,要么换别的软件,要么就只能写命令行调用mencoder进行分了……


  二、免渲染合成视频流与音频流


  下面再重点说一下合成视频流与音频流的问题。

  当然不是所有的视频流和音频流都能乱合成了,比如说你有一个无声音的AVI,有一个音频,想进行合成。那么你的目标封装格式就是AVI,AVI支持的视频流和音频流的编码是有限的,别的格式也是如此,视频流与音频流的编码必须要是AVI或者你的目标格式支持的才行!

  下面罗列一下常见的几种格式的编码


格式视频部分音频部分
AVIMS- MPEG4V2/MPEG4/XVID/DIVX/H.264/WMV7~9MP3/MP2/AC3
WMVWMV7~9WMA
RMVBREAL7~9REAL AUDIO
MP4H.263/H.264/MPEG4AAC(包括很多AAC,比如FLAC,NEROAAC之类的,但是H.264+FLAC无法封装)
MPGMPEG1/MPEG2MP2


  比如要合成一个AVI的,那么音频格式必须是MP3,MP2,或者AC3的,否则就得转码音频才能合成。

  再介绍一种非常强大的封装格式——MKV。MKV理论上可以支持任何编码的视频流与音频流的封装,如果不是用于非编处理的话,MKV也是一个不错的选择(可惜速度稍微慢了一点,但是远远超过渲染速度)
  推荐用 MKVToolnix这个软件 来封装MKV :(点击查看下载地址)
  Mkvtoolnix 是一套功能强大的 mkv(Matroska) 格式制作和处理的工具,支持多种格式的视频、音频、字幕等封装合成mkv格式。Mkvtoolnix 中包含了一个图形界面程序 mmg.exe,这样使得制作mkv更简单和直观。另外还集成了一个提取工具MKVEWizard.exe,可以方便快捷地提取 MKV 文件里面的音视频、章节和字幕文件。


    点击“添加”,把视频流和音频流都添加进来,点击开始合成就OK(这个例子就是合成了mpg的视频与OGG音频,完全没有问题,直接封装是不行的,因为MPG视频是不能加入OGG音频的。


相关参考:[索引] 从多音轨视频文件中分离提取出多轨音频 然后合成为多音轨MPG/DVD文件的方法总结

Hiroshi 发表于 2010-4-25 00:26:50

本帖最后由 Hiroshi 于 2012-11-11 09:56 编辑

插图怎么看不见?


IsaacZ 发表于 2010-4-25 00:35:24

谢谢提醒,已经修复。

piaoguo778 发表于 2011-3-15 18:01:13

这个图片有够小的 不过还是谢谢楼主的费心编写

秋贩子 发表于 2011-12-28 21:00:15

这个软件不错。

伤心的笔 发表于 2012-7-26 09:18:01

本帖最后由 伤心的笔 于 2012-7-26 09:27 编辑

现在根本没有无损的转码
无损的视频、音频编码有很多。
音频编码就不列举了,很多。
视频无损编码有:


[*]位图(不压缩)

[*]Microsoft RLE
  一种8位的编码方式,只能支持到256色。压缩动画或者是计算机合成的图像等具有大面积色块的素材可以使用它来编码,是一种无损压缩方案。
[*]MSU Lossless Video Codec

[*]HuffYUV
[*]CorePNG
[*]Alparysoft Lossless Codec
[*]Lagarith Lossless Video Codec
[*]FF Video Codec 1

伤心的笔 发表于 2012-7-26 09:19:22

比如要合成一个AVI的,那么音频格式必须是MP3,MP2,或者AC3的,否则就得转码音频才能合成。
AVI容器可不止能装上述音频编码,还能装很多别的,比如PCM……

伤心的笔 发表于 2012-7-26 09:20:34

推荐用 MKVToolnix这个软件 来封装MKV :(点击查看下载地址)
这一句排版的时候没有修正

伤心的笔 发表于 2012-7-26 09:22:27


格式视频部分音频部分
AVIMS- MPEG4V2/MPEG4/XVID/DIVX/H.264/WMV7~9MP3/MP2/AC3
WMVWMV7~9WMA
RMVBREAL7~9REAL AUDIO
MP4H.263/H.264/MPEG4AAC(包括很多AAC,比如FLAC,NEROAAC之类的,但是H.264+FLAC无法封装)
MPGMPEG1/MPEG2MP2
这个表格好像也不太对——比如,MPEG2容器除了支持MP2音频外,还可以支持PCM、AC3、DTS……

伤心的笔 发表于 2012-7-26 09:23:32

piaoguo778 发表于 2011-3-15 18:01 static/image/common/back.gif
这个图片有够小的 不过还是谢谢楼主的费心编写

不是转帖吗?
页: [1] 2
查看完整版本: 免渲染直接分离与合成音频流与视频流