使用direct264+FrameServer进行桥接编码的困惑
dwing吧
全部回复
仅看楼主
level 8
凝芳文 楼主
以前都是借助AVS将FrameServer生成的AVI导入到direct264中的,这种方法稳定性很好,没出错过。但是后来我知道这样做法不太正确,毕竟未能很好发挥direct264的性能。(实测过,未经AVS导入的话,压缩比会更好)
于是尝试让FrameServer直接导入到direct264中,然后总是未能成功,每次会出现如图的提示,BAT即停止执行了。

2011年04月11日 11点04分 1
level 8
凝芳文 楼主
BAT内容如下:
2011年04月11日 11点04分 2
level 8
凝芳文 楼主
FrameServer生成的AVI我是指定到direct264的根目录的了
2011年04月11日 11点04分 3
level 8
凝芳文 楼主
至于大家所说的FFDSHOW里面的AVS我不知道该怎么用,不知道如何借助它将FrameServer桥接到direct264中。FFDSHOW里面我是这么设置了,然后下一步该如何才能正确桥接呢?

2011年04月11日 11点04分 4
level 9
传统的用DSS的avs流程是这样的
分离器->解码器(ffdshow)->DSS(avs)->滤镜(avs)->x264(avs输入)
而ffdshow里用avs是把avs脚本当成一个滤镜使用的,所以千万不要加任何source(比如DSS),因为ffdshow已经提供了一个ffdshowSource了(不需要写)。你要用什么滤镜就直接写在里面,ConvertToYV12之类也统统不要。
流程是这样的
分离器->解码器(ffdshow)->滤镜(avs in ffdshow)->x264(dshow输入)

2011年04月11日 16点04分 5
level 9
还有,我看你的frameserver输出的是YUY2,x264的dshow输入不支持YUY2(只支持YV12和NV12),你可以把ffdshow里的raw video宣称all supported,然后就可以会自动加载并转成YV12传给x264了。
2011年04月11日 16点04分 6
level 12
刚好搭车问下
Frameserver用RGB32输出,最后x264出来的视频应该损失的色彩更小吧?
2011年04月12日 04点04分 7
level 9
这个取决于原始素材是颜色空间。如果是YV12的,输出YUY2基本是无损的,但RGB32就会有比较大的损失了。
2011年04月12日 10点04分 8
level 12
>8
感谢
原来是YUV系和RGB系相互转化损失较大
2011年04月12日 10点04分 9
level 8
凝芳文 楼主
额,因为我用的FFDSHOW是中文的,把FFDSHOW上上下下翻了几遍了,也没找到类似all supported的选项........。
找过其它的X264直接搭frameserver测试,发现是可以直接导入的,不需要AVS(当然了,frameserver其实本身就依靠frameserver的吧?)
于是,现在还是处在懵懂的状态[汗]。可能我是要求过分了,其实先把视频渲染再导入到direct264也是简单可行的办法,只是要多编码一次而已。
总之,先谢过roo_zhou大的解答了。
2011年04月12日 11点04分 10
level 8
凝芳文 楼主
打错字,修正上面:“找过其它的X264直接搭frameserver测试,发现是可以直接导入的,不需要AVS(当然了,frameserver其实本身就依靠AVS的吧?)
2011年04月12日 11点04分 11
level 12
all supported在这
2011年04月12日 11点04分 12
level 8
凝芳文 楼主
回复:12楼
是不是版本问题呢?我的这个是这样的。
2011年04月12日 11点04分 13
level 12
最下方的raw video
2011年04月12日 11点04分 14
level 8
凝芳文 楼主
回复:14楼
原来我自己眼花了,现在找了设置好测试了一遍,直接把frameserver生成的AVI导入到direct264中还是提出X264出现问题需要关闭。
而FFDSHOW里面的AVS我只加了路径,其它都没加载了。

2011年04月12日 12点04分 15
level 12
看5L
2011年04月12日 12点04分 16
level 8
凝芳文 楼主
回复:16楼
嗯,现在AVS框内什么都不填,试了一次就能导入不出错了。于是赶紧测试了一遍,压了个1分钟多点的视频。比较视频流不用AVS码率要低了20K左右,相信这个还跟分辨率,画面动态什么的也有关系。应该是视频长度越长,分辨率越大,静态画面越多就更能体现direct264的优势吧?
现在还剩下一个小小的操作细节,frameserver的默认的帧速率是29帧的,而我压的也是动画较多,29帧浪费不少码率的呀。改到23帧都够啦,FFDSHOW能改帧率吗?
2011年04月13日 00点04分 17
level 12
>17
前半不清楚,实测比较吧
后半
这个我想应该不是Frameserver的问题吧...Vegas那不能直接用23.976p?
avs直接弄还不如用deldup...不管changefps还是convertfps估计都会导致一顿一顿的
2011年04月13日 00点04分 18
level 8
凝芳文 楼主
回复:18楼
额,是哦~思维固化了。不过Vegas的帧率调起来没那么自由就是了,它只提供一些标准的帧率范围供你选择。
那个,deldup可以实现控制帧速率么?(PS:对于这个命令我现在都还不懂得自己设置,还是对你给我的那个照葫芦画瓢...希望能看点例子说明下,方便自己设置。)

2011年04月13日 03点04分 19
level 9
请问你为什么要控制帧速率,你又不是在玩游戏,实时渲染或者用摄像头。
2011年04月13日 05点04分 20
1 2 尾页