最新更新见此楼
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内部
大家有别的要求也可以提出