『漫游』酷论坛>『影音数码技术学习交流』>自己做的小工具dshow2ra ..

自己做的小工具dshow2raw,请帮忙测试

roozhou@2008-09-09 10:55

最新更新见此楼
http://popgo.net/bbs/showthread.php?s=&threadid=494982

彻底解决vfr和字幕内嵌问题,再也不会有影音不同步的问题了,真正所见即所得。支持各种帧率自适应ivtc和deinterlace滤镜。

下载地址(内含源码)
http://www.namipan.com/d/b4e1bd38635d07682d564da8c791ab05de35b7fed5aa0500

包含模块
dump.ax 修改自dxsdk的sample中的dump,用于截取帧的渲染滤镜,并提供接口供应用程序调用
dshow2raw 调用dump.ax并将帧序列(暂时只支持yv12)输出至stdout,时间码输出至指定文件。
x264.exe 自己编译的r965,已修正win32 stdin的bug和处理raw 输入时uv需对调的bug。编译器tdm gcc 4.3.2,各种最新补丁都已打上了。

使用方法
1)先将dump.ax放到system32下,用regsvr32 dump.ax注册
2)命令行:dshow2raw xxx.xxx timecode.txt | x264.exe - AAAxBBB ...(其他x264参数),其中xxx.xxx为dshow可播放的任何文件,timecode.txt为要输出的timecode v2 文件,可用于mp4box,mkvmerge,tc2cfr等工具mux用,AAAxBBB为文件的分辨率。
3)如果要嵌字幕只要安装vsfilter就可以了,用起来和看片一样。mkv的封装字幕不需要提取。

我的方法是先自动生成一个播放用的graph,然后去掉Video Renderer并连上我的Dump。我只在xp下试过,如果vista下的默认渲染器名字不是Video Renderer就不行了,有vista的请测试一下。

改进计划
1)增加对设备(DVD、摄像头等)和流媒体的支持
2)支持多个文件的裁剪和连接
3)加入自适应decimate功能,配合TFM实现完美自适应ivtc
4)静态链接到x264.exe内部

大家有别的要求也可以提出
引用

雷鸣@2008-09-09 13:36

好像可以很容易地让压制x264变得像压rmvb般简单……

(rmvb的很流行,傻瓜化的压制应该有不可磨灭的功劳……)
引用

roozhou@2008-09-09 13:48

恩,realproducer和vsfilter配合得不好,我这个没有任何问题,DirectShowSource可以下课了。
正在研究读取DVD的方法,目标是直接实现DVD+ass->x264。
引用

雷鸣@2008-09-09 13:59

引用
最初由 roozhou 发布
恩,realproducer和vsfilter配合得不好,我这个没有任何问题,DirectShowSource可以下课了。
正在研究读取DVD的方法,目标是直接实现DVD+ass->x264。

手工一步一步DVDRip让人觉得更加放心……
引用

roozhou@2008-09-09 14:58

记得5年前我用一个叫MovieJack的软件,就是用vfw直接DVD->avi的,
出了x264后反而变麻烦了。真不懂直接压有什么不放心的,有人用d2v+avisynth看DVD的吗,也没见用mplayerc看有什么问题啊,倒是用directshowsource总有各种奇怪的问题。
引用

superkidx@2008-09-09 16:02

好像不错的样子

先自动生成一个播放用的graph,然后去掉Video Renderer并连上我的Dump。
如果vista下的默认渲染器名字不是Video Renderer就不行了,有vista的请测试一下。
===============================
这2句是什么意思?
引用

roozhou@2008-09-09 16:23

找到dxsdk里的graphedit.exe,随便找个视频文件拖进去,就会自动生成一个图,在图的最末端是视频渲染器和音频渲染器。我的程序在生成这个图后,会搜索图中的视频渲染器,记下和它连接的pin,然后删除,再添加自己的dump渲染器并和那个pin连接。因为WinXP中不管是DDraw还是VMR名字都叫Video Renderer(就是graphedit里看到的名字),所以我用下面的方法来找视频渲染器。

IGraphBuilder::FindFilterByName(L"Video Renderer",&pVR)

Vista里的默认渲染器是EVR,我这里没Vista,所以想知道是不是有别的名字,如果有装vista的请帮忙试试。
引用

蓝の回忆@2008-09-09 16:46

貌似不错的样子,晚些时候拿去跑次那种变态桢率的片子去..
引用

uc0083@2008-09-09 17:40

引用
最初由 雷鸣 发布
好像可以很容易地让压制x264变得像压rmvb般简单……

(rmvb的很流行,傻瓜化的压制应该有不可磨灭的功劳……)

我怎么也没看出压x264比rmvb难在哪里了。。。
引用

roozhou@2008-09-09 18:14

难在source上,x264需要装一大堆别的东西
引用

GOD_HIKARU MK2@2008-09-10 02:24

=_= 我贴呢 被删了 都是啊B的错
老实说楼主那个好麻烦
引用

雷鸣@2008-09-10 10:44

引用
最初由 roozhou 发布
记得5年前我用一个叫MovieJack的软件,就是用vfw直接DVD->avi的,
出了x264后反而变麻烦了。真不懂直接压有什么不放心的,有人用d2v+avisynth看DVD的吗,也没见用mplayerc看有什么问题啊,倒是用directshowsource总有各种奇怪的问题。

胶片还原的质量方面,directshow解码器必须考虑速度,这样才能实时输出供观看
引用

roozhou@2008-09-10 13:44

雷大有什么dshow下可用的ivtc滤镜可以推荐一下,我一个也没找到
引用

雷鸣@2008-09-10 15:33

引用
最初由 roozhou 发布
雷大有什么dshow下可用的ivtc滤镜可以推荐一下,我一个也没找到

dshow下ivtc不都是由mpeg解码器去做的吗
引用

roozhou@2008-09-10 16:08

那就推荐一个软件模式下能ivtc的解码器吧。NV PureVideo只有在DXVA下才能ivtc,软件模式下不行。
引用

«123»共3页

| TOP