FFDSHOW的设置讲解

原创 2005年05月25日 17:46:00

                                      

ffdshow是DVDRIP等avi格式压制成rmvb最重要的辅助插件。利用ffdshow提供的某些虑镜设置可以使rmvb获得很好的效果。我个人认为ffdshow可以当作插件化的avs,ffdshow的很多虑镜设置都可以用过avs来实现,只是ffdshow目前只完美支持avi格式。
一开始很多人认为ffdshow只是个万能解码插件。装了ffdshow就可以实现各种编码格式avi的播放。随着divx和xvid编码的发展,尽管ffdhsow的版本也是随之更新。但是ffdshow的解码功能始终差了那么一点。因此在安装完ffdshow后,请同时安装xvid的独立解码插件。
ffdshow的目前版本基本跟上了xvid的几种特殊情况。可以说ffdshow与avi编码是"夫唱妇随"的。据说新的xvid解码插件里ffdshow的开发者也参与了部分。


1,安装
一路默认安装最好了。在安装完ffdshow后,xvid独立解码器一定要安装。否则,绿屏、闪屏等情况会发生!再这里不要耍什么小聪明,稳重最好。
2,解码说明
如图



VCD和DVD格式的目前还不支持,因此不能利用ffdshow在压制VCD-rmvb时增加亮度和添加水印。wmv/asf格式的支持不是很好。
但FFDSHOW却能很好的支持各种mpge4格式(就是你在九鱼下载的DVDRIP影片,后缀名为.AVI的),这些格式有时也称为XDIV+AC3。
(说到这里,不免又要来2句题外话,我们为什么要用AVS?因为我的早版本的压缩软件没有裁减黑边,增加亮度,调节画面大小等等很多功能,那FFDSHOW也不支持这些功能,甚至在利用ffdshow在压制VCD-rmvb时不能增加亮度和添加水印,在压制dvdrip-RMVB时不能加载动态SSA字幕,这时我们用到了AVS,去给FFDSHOW人为的实现了裁减黑边,增加亮度,调节画面大小,在压制VCD-rmvb时添加水印,在压制dvdrip-RMVB时加载动态SSA字幕等等的功能。为什么FFDSHOW可以加载AVS?因为它的avisynth是加载AVS的平台,而AVS实际上就是一种脚本语言,将这种语言写入FFDSHOW的avisynth中就可以使FFDSHOW具有我们想具有的功能。但是现在那,压缩dvdrip-RMVB的软件具有裁减黑边,增加亮度,调节画面大小等功能了,我们为什么还要为FFDSHOW加在AVS脚本语言去实现这些功能那!!那起不是脱了裤子放屁--费二遍事嘛。[除非你很专业的一定要用手动AVS调节,放弃软件那些功能]那FFDSHOW一点AVS也不要加了吗?当然不是,现在FFDOWSH还是不能加载SSA动态字幕等等,那就需要写AVS去增加了。说了这摸多,一句话,用AVS滤镜越少越好。明白的全当这是瞎话,不明白希望你能看懂。)

3,外部设置(非必要)
这里可以设置成中文界面,不过我建议还是用英文的好,这样便于理解avs
显示在系统托盘上的好处是,可以实时的调节设置.
可以将FFDSHOW的设置保存起来。



4,裁边和缩放画面

画面缩放和画面裁减是压制DVDRIP的特点之一  。其根本出发点是我们认识到rmvb是一种高度压缩的格式,高度压缩格式在高度压缩进程中,应该进行一系列优化才能达到清晰而又小巧的效果。 合适的画面大小是rmvb压制人性化的体现!

压缩时需要注意的分辨率参数

下面列出三种主要的宽高比,分辨率(画面大小)的实际应用条件,需要牢记:

1:2.35 - 720x304(DVD); 640x272(DVDRIP) ;608×    (RMVB)
1:1.85 - 720x392(DVD); 640x352(DVDRIP); 608×336;576x312(RMVB)
1:1.33 - 720x540(DVD); 640x480;576x432(DVDRIP);, 512x384,480x360(RMVB)
注:
1:2.35是传统电影的宽银幕,常见的DVDRIP画面大小是576×,640×,压制rmvb时默认即可。640×以上的必须缩放,建议到608×
1:1.85是DVD的变形宽银幕,640×是最常见的画面大小,压制时可以默认。640×以上的必须缩放,建议到608×
1:1.33是标准的4:3全屏模式,压缩时缩放到512×384。这种画面现多建于动漫片。动漫片的压制画面应该统一缩放到这个数值

VCD压成rmvb,如果原VCD画质清晰画面可以按比列放大到400x300、448×336或者480×360,如此可以更好的体现rmvb对画质带来的改善(通俗说来,就是感觉画面比较舒展  )。这个和我提到的画面应该缩小是不矛盾的

ffdshow的这个虑镜解决了如果用压缩软件来缩小画面会极度增加压缩时间的不利因素,经常压片的朋友应该体会出ffdshow的这个功能,如我曾经压过一个片子是什么忘了,画面比列不对。应该是640×480或者576×432的,实际大小是640×432,那么我可以先在crop里设置左右各裁掉32,然后在设定里设置成lancroz的缩小模式,然后在resize里设置成512×384,即可画面不失真的获得标准的4:3全屏.如图




注意:ffdshow和avi是如胶似漆的,因此在压制其他电影时可要将这个lancroz选项去掉
如此压缩时间就不会增加了.



另外牢记这几个数值有助于
1,画面裁减中不致于过渡裁减。如DVD vob文件的裁边!
2,某些片子分辨率失调,如出现人物拉长或者压扁,多见于SVCD格式,可以利用上述数值进行强制调整。



5,亮度(rmvb压制的重要设置环节)
可以在"picture property"和"level"里设置。前者相当于avs中的tweak虑镜,增加相当于前景的亮度,可调度较大,一般设置在140-170之间,有的片子甚至要到200才能增加亮度。我建议设置145,后者在avs里即level虑镜,增加相当于背景的亮度,可调度较小。一般1.3-1.5之间。压制是用一个即可!一般建议用前者。在压制DVDRIP-rmvb时,增加亮度,不是造成错位的原因。也不会造成文件体积的增加。这是许多人的误解。
如图





注意,其它的设置如饱和度等不要改动,加这些虑镜可能会影响压缩效果。同期的几个滤镜,如sharp、blue2个在rmvb压制中不必使用。一方面是DVDRIP制作时可能已经采用了这些滤镜了。第二是这些滤镜适合高码率文件,对于极度压缩的rmvb来说,不能想当然。



6,字幕(静态水印的实现)
目前版本的ffdshow里关于字幕的设置有轻微的改变,请看图中的设置
注意,只能加载srt字幕

默认是4:3,设置成"不扩展",以免加入黑边。
另外,如果使用avs的方法,想通过ffdshow来加黑边的话,可以在这里设置,结合vobsub的字幕功能可以实现将字幕加载在黑边里。如此可以不必在avs语句里写入加黑边的语法了

如图


字幕方位,大小等设置,如图



7,ffdshow的avisynth功能
高版本的ffdshow又扩充了其avs功能,据说通过这个扩充功能可以实现很多特效,如加载声音、动态效果(加载一小电影)。目前我们利用这个功能来实现动态字幕的加载.加载avs文件即可,其内容可以在里面显示.

如图


由于ffdshow不支持ssa格式字幕,对于本身外挂sub字幕的想实现绚丽的特殊的动态字幕转换成文本字幕。怎么来实现水印呢?利用新的版本的ffdshow支持avisynth的功能编辑一个avs文件来实现。

打开记事本,按照格式写一句:
TextSub("H:/avs/01.ssa")
然后保存为后缀名为avs的文件即可

安装avisynth(射手网有)
字幕插件
下载地址:查找中

释放到安装目录的/AviSynth 2.5/plugins目录里即可。如此刚才编写的avs里可以不用再写入加载语句.

注意:ffdshow+avs外挂ssa字幕对部分特效可能显示不理想,需要反复测试,我比较反感这么动态字幕的.不如把sub转为srt,在转为ssa好啊.

8,其它
介绍一个:截图


ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)

本文我们介绍ffdshow的滤镜功能。ffdshow支持很多种滤镜,可以支持多种视频和音频的后期效果。例如OSD滤镜支持在视频的左上角显示视频相关的信息。而可视化滤镜则支持显示视频每一帧的运动矢量以及...

ffdshow 源代码分析1 : 整体结构

ffdshow是一个非常强大的DirectShow解码器,封装了ffmpeg,libmpeg2等解码库。它也提供了丰富的加工处理选项,可以锐化画面,调节画面的亮度等等。不止是视频,FFDShow现在同...

音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw

音频视频编程相关:GStreamer/ffmpeg/directshow/vfwlinux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。一、GStreamerGSt...

【整理】Libav、FFmpeg、mplayer、VLC开源项目、FFDshow

ffmpeg    FFmpeg(现改名为Libav) FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流...
  • conowen
  • conowen
  • 2012年02月13日 18:28
  • 39360

视频转换 视频水印 mencoder+ffmpeg+aviysth+ffdshow (1)

印视频转换总结(win):   一.              视频转换水印资料的搜集整理如下: 二.              1.现在网络上大多都用页面中内嵌flash播放器播放flv格...

音频视频解决方案:GStreamer-ffmpeg-ffdshow-directshow-vfw

linux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。一、GStreamerGStreamer is a library that allows the cons...
  • byxdaz
  • byxdaz
  • 2012年03月03日 23:23
  • 5157

音频视频解决方案:GStreamer-ffmpeg-ffdshow-directshow-vfw

Linux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。 一、GStreamer GStreamer is a library that allows ...
  • jzjhome
  • jzjhome
  • 2017年07月18日 11:15
  • 231

关于ffdshow和ffmpeg的资料

网上搜到一些关于ffdshow和ffmpeg的资料,搬到自己家里,以便以后查阅。。ffdshow和ffmpeg的关系看不少人对ffdshow和ffmpeg的关系有点搞不清楚,所以响应Leon老大的号召...

ffdshow开发笔记——从安装到构建成功第一个FilterGraph(一)

ffdshow是Windows平台上的一个支持多种视频格式的开源解码器。它包含一系列的DirectShow Filter,用来对各种视频流格式做编解码。 因为最近想做个用于项目测试的视频解码器,所以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FFDSHOW的设置讲解
举报原因:
原因补充:

(最多只允许输入30个字)