POPPUR爱换

标题: [原创]利用AC3Filter进行多声道PCM->AC3重编码SPDIF输出试验 [打印本页]

作者: gzXW    时间: 2007-6-30 16:41
标题: [原创]利用AC3Filter进行多声道PCM->AC3重编码SPDIF输出试验
大家知道,SPDIF仅能传送2声道的非压缩的PCM音频流。当声卡要通过SPDIF输出多声道音频流时,必须先将PCM编码压缩成AC3、DTS等压缩音频流,再传送至SPDIF接口。
6 k! Z, F; N  c7 S& U    采用C-Media公司CMI8788芯片的声卡支持AC3、DTS输出重编码,而Intel的部分型号主板的板载声卡也支持AC3、ADDT输出重编码。
) _) L- \( Y- S, B, L     今天我上AC3Filter网站查看更新列表,发现新版AC3Filter已经增加AC3编码器,支持AC3重编码SPDIF输出!于是开始动手测试这一新特征。2 |# z- n0 t! H! C

1 Z( u' r7 m  G% U$ x: Y9 g; K" g( _
6 K5 |% t2 O' h9 Y4 C    打开AC3Filter设置页,“Use AC3Filter for:”中勾选PCM。勾选PCM后,所有Direct Show应用程序在运行时,在音频流程中的PCM输出节点会自动调用AC3Filter接收处理PCM。" ~! d3 ]$ j* }2 }  F) W8 v7 S8 t
[attach]760968[/attach]; t" P, J0 ^. W2 B1 H
; y2 ]8 F( X- e1 x7 ~* f- G' n
    为了更加直观看到整个音频的处理过程,我使用了Windows DDK中的Graph Edit工具进行测试。
9 }" A& G0 J4 m" q    身边没有外置的AC3解码器,变通利用SB Live声卡的AC3解码器作为最终的SPDIF输出解码。
7 \" `% Q: _, r6 Q0 W    设想的整个流程如下:( M) b) G6 q5 m: q6 V0 u3 V
    AVI文件->分离器->Dscaler解码得到多声音的PCM音频流->送入AC3Filter,编码成AC3->声卡SPDIF接口->SB Live的AC3解码器->声卡模拟接口->功放、音箱! v9 f- Q( l+ s$ \5 L
[attach]760969[/attach]/ K1 v8 b- n  H- E& e$ n' I
& d2 J3 r# e. X- k/ V
    最后用MPC验证。MPC中即使音频点选静音,仍然可以听到SPDIF输出&解码后的声音。
" H+ X9 a0 h$ W1 h- Y* `$ i0 O8 b[attach]760970[/attach]0 k! a* z. `9 s+ q$ k8 X, x6 ^
! C, y9 Q) M/ W& [. r' j9 @& T- g/ e( o( X
[ 本帖最后由 gzXW 于 2007-6-30 17:29 编辑 ]
作者: gzXW    时间: 2007-6-30 16:41
存在问题:
: d2 `2 z: E& O: ?* w" ?1、sb live只支持48K的SPDIF,如果播放非48K的音频会发生变调,加入ffdshow做SRC(44.1K->48K)后声音正常。
  V2 _7 R0 }3 K8 g, i+ i* T$ _% a[attach]761087[/attach]
6 m; N3 [$ `% C- h" Q1 ^+ }+ V+ u* @1 p# F. n8 G9 g4 T. k% v
MPC中也可以加载ffdshow做SRC,AC3编码器同样工作正常:( L! c7 m; |$ j: J* w+ N
[attach]761088[/attach]
5 @) h5 P8 j8 r; p( t: T, u2 ~& q9 |

! G$ Y& I! U( i1 W0 h2、AC3Filter的AC3编码器使用范围还比较窄,仅限于directshow filter调用。如果能加入SRC、并做成renderer或虚拟声卡模式,则所有程序都可以方便直接使用AC3Filter,那样我就不用羡慕CMI8788之类声卡了。
' M+ g1 A0 Q% n  E  E) c: p5 p* ?  [3 G
[ 本帖最后由 gzXW 于 2007-6-30 22:39 编辑 ]
作者: gzXW    时间: 2007-6-30 16:41
预留空位0002
作者: sd-iori    时间: 2007-6-30 17:33
:shifty: 怪不得,,傲王取消SQ681和SQ680+的发布,,% L, c' d9 N. Z0 ?- l
这样看来,,AC3编码变得没有意义了,,/ K/ F) Z. d/ y9 b

8 [# G) X, W9 [+ q4 t4 X9 D) ~其实解码也是一样,,软件解码,,可以让声卡解码郁闷
作者: gzXW    时间: 2007-6-30 22:41
原帖由 sd-iori 于 2007-6-30 17:33 发表
. P# P# ^0 ]& K$ \/ p4 d6 x:shifty: 怪不得,,傲王取消SQ681和SQ680+的发布,,
- F+ G4 g: c0 ~4 c3 }# j- Z这样看来,,AC3编码变得没有意义了,,
8 ?6 m2 \/ V* e0 |! S# ^$ `+ N! A
0 E& g: W% _; _% U: w6 @# N, k- s其实解码也是一样,,软件解码,,可以让声卡解码郁闷
$ p9 r+ R- t9 N# V
/ y8 I3 x; U% J4 w1 D" W6 S9 s
声卡直接支持的话使用方便啊:lol:




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4