Log in

View Full Version : Helix Producer 9.2M4 and Multi-Channel Audio


Ramirez
28th June 2003, 23:29
Accordingly to the change log of Producer 9.2 M-4, RV9 now supports multi-channel AC3 Audio Encoding, there a few Multi-channel 5.1 audience files inside the Audience folder (all based on cook) I'd really like to know a little bit more about this new ability of RV9 codec. (What's exactly required to make this thing working?)

Karl? :)

Thanks a Lot!

karl_lillevold
28th June 2003, 23:44
Thanks for bringing this up! I will be posting a thread shortly (within a day or two) full instructions, caveats, known issues, etc for how to encode RealAudio Multi-Channel, along with a couple of DLLs you will need to play back this content in RealOne V2.
EDIT: These DLLs will not be supported in any other way, than via feedback in this forum, and are intended only to enable bleeding edge GUI developers and RV9 users to test that their multi-channel content plays...

Sirber
28th June 2003, 23:51
Originally posted by karl_lillevold
bleeding edge GUI developers and RV9 usersMan and Ready :D

Sgt_Strider
29th June 2003, 01:33
I was hoping that it would be some sort of Real Audio multichannel compression. What's the point of encoding in ac3 when dvds come with their own ac3 track? Am I missing something?

karl_lillevold
29th June 2003, 01:42
it is indeed native RealAudio Multi-Channel compression, starting at 128 kbps for 5.1 channels. What was mentioned is how to get 5.1 channels into Producer, and the easiest way is directly from an AC3 file, assuming you have ac3filter v0.63b installed and set to 3/2+LFE 5.1. Since Producer reads its inputs via DirectShow, ac3filter will then decode 5.1 channels on the fly to Producer, which will encode 5.1 channels natively in Real-Audio Multi-Channel. Does this make sense?
EDIT: 5.1 channel encoding is starting at 96 kbps, in the current spec.

Sirber
29th June 2003, 01:47
128kbps for 6 channels? Is the quality comparable to 64kbps cook?

karl_lillevold
29th June 2003, 02:00
These codec flavors are still under development, and the bit allocation between the channels will change. I think currently the 128 kbps flavor is
front-center : 32 kbps mono cook
front-left+right: 44 kbps stereo cook
rear-left+right: 44 kbps stereo cook
sub: 8 kbps custom-mono cook

Check out the Audio Codec Table in the Audience File Spec (https://helix-producer.helixcommunity.org/specs/Producer9.2/AudienceFile/index.htm) for the different flavors, but this does not list the current bit allocation for all the flavors. I will have to find that out for you and report back.
Actually, now I see that the lowest 5.1 flavor is 96 kbps! which may be close to 64 kbps stereo, in terms of quality.

To be honest, this is so new, and I have not done any work with this, except try to encode one time, so I have not had a chance to test how this sounds yet. 128 kbps is probably going to be my sweetspot. With EHQ for video, I will certainly be happy to move from 96 kbps stereo to 128 kbps 5.1. Like I said, you are taking part in the tuning and final stages of development process here :)

Sirber
29th June 2003, 02:06
:D

I'm happy to contribute to RV and RA development. RV+RA is the best combinaison at any bitrate, IMHO.

I'm testing the DupeDrop filter right now on Naruto E38, a clip that EHQ boosted way too mych (I got Q100 few times :D, at 450kbps including a 64kbps surround track). I can't wait to see the results!

Sgt_Strider
29th June 2003, 02:21
Hey Karl, I just took a look at the site and I see that bitrate for 5.1 audio encoding can go as high as 256 Kbps. Will that sound near transparency with the ac3 audio from a DVD? Also I notice that the new RA multichannel audio codec is CBR? Won't VBR produce better quality?


Edit: Also how much longer do you expect before the development finishes on the multichannel codec?

Sirber
29th June 2003, 02:24
IIRC, Real Audio is CBR for streaming purposes.

karl_lillevold
29th June 2003, 02:37
The new Multi-Channel flavors are all based on cook, the excellent CBR codec developed solely by my esteemed colleague Ken Cooke. The multi-channel work was done by another colleague of mine, Wolfgang Schildbach. The work is complete enough to start using, absolutely, the way I made it sound, may have indicated otherwise. I guess what I should have said was that the new bitstream format for multi-channel was written in such a way, we expect future improvements, ala adaptive bit sloshing between the channels, effectively making it CBR over-all, but VBR internally between the channels. This is work TBD.

Remaining in the development process is to find more methods and procedures for encoding using multi-channel than the one currently working *), i.e. alternative conversion processes, input formats etc. Can for instance AC3Source in Avisynth 2.5x be made to work? Can Besweet write WAVEFORMAT EXT? Why does not newer versions of ac3filter than 0.63b work?

*) separate Audio and Video input files to Producer, defined in job file, Audio being an AC3 file (via ac3filter 0.63b), Video being any video source, for instance an Avisynth script. I will post job file example shortly.l

karl_lillevold
29th June 2003, 06:43
Ah, just for the curious ones, here is an example RA multi-channel job file. I will post more information on this whole topic later.

This job file is working right now in Helix Producer 9.2 M4, but you can not play it back until you get the right replacement DLLs for RealOne V2. Requirements: ac3filter 0.63b set to 3/2+LFE 5.1 speaker output (newer versions of ac3filter will not work. we do not yet know why)

If you get error 04VR video codec can not be initialized, check that speaker output is set as above (the error message is misleading - bug to be fixed).

For multi-channel codec flavors, see https://helix-producer.helixcommunity.org/specs/Producer9.2/9.2Release/index.htm#25_RealAudio_Multi-Channel_Audio_Codec.

For more help with job files, see jobfile.htm in the docs sub-folder of producer, or this link: https://helix-producer.helixcommunity.org/specs/Producer9.2/JobFile/index.htm.

Copy and paste the code below into a new file, save it as some meaningfulname.rpjf, edit it to match your encoding, and run it with 'producer -j meaningfulname.rpjf -lc w,i,d,e' (-lc option is for diagnostics).

GUI front-ends that can create these job files for you automatically will show up very soon.

<?xml version="1.0" encoding="UTF-8"?>
<job xmlns="http://ns.real.com/tools/job.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ns.real.com/tools/job.2.0
http://ns.real.com/tools/job.2.0.xsd">

<!-- example job file for encoding RealAudio Multi-Channel
using separate sources for video and audio : in this
case video is coming from an Avisynth script with no
audio. Audio is coming from an AC3 file -->

<enableTwoPass type="bool">true</enableTwoPass>
<parInputs>
<input xsi:type="avFileInput">
<filename type="string">input_video.avs</filename>
<disableAudio type="bool">true</disableAudio>
</input>
<input xsi:type="avFileInput">
<filename type="string">input_audio AC3 T01 3_2ch 448Kbps DELAY 18ms.ac3</filename>
<disableVideo type="bool">true</disableVideo>
<prefilters>
<prefilter xsi:type="audioDelayCompPrefilter">
<pluginName type="string">rn-prefilter-audiodelaycomp</pluginName>
<delay type="duration">0.018</delay>
<!-- use advance for negative delay -->
<!-- <advance type="duration">0.018</advance> -->
</prefilter>
</prefilters>
</input>
</parInputs>

<parOutputs>
<output>
<destinations>
<destination xsi:type="fileDestination">
<filename type="string">output_filename.rmvb</filename>
</destination>
</destinations>
<mediaProfile>
<audioMode type="string">music</audioMode>
<disableAudio type="bool">false</disableAudio>
<disableVideo type="bool">false</disableVideo>
<outputHeight type="uint">720</outputHeight>
<outputWidth type="uint">304</outputWidth>
<resizeQuality type="string">high</resizeQuality>
<videoMode type="string">normal</videoMode>
<audienceRefs>
<audienceRef>My Audience</audienceRef>
</audienceRefs>
</mediaProfile>
</output>
</parOutputs>

<audiences>
<audience>
<avgBitrate type="uint">750000</avgBitrate>
<maxBitrate type="uint">1600000</maxBitrate>
<name type="string">My Audience</name>

<streams>
<stream xsi:type="videoStream">
<pluginName type="string">rn-videocodec-realvideo</pluginName>
<codecName type="string">rv9</codecName>
<codecProperties type="bag">
<encoderComplexity type="uint">80</encoderComplexity>
<customPacketSize type="uint">16000</customPacketSize>
</codecProperties>
<encodingType type="string">vbrBitrate</encodingType>
<quality type="uint">1</quality>
<maxStartupLatency type="double">25</maxStartupLatency>
<maxFrameRate type="double">30</maxFrameRate>
<maxKeyFrameInterval type="double">10</maxKeyFrameInterval>
<enableLossProtection type="bool">false</enableLossProtection>
</stream>
<stream xsi:type="audioStream">
<codecFlavor type="uint">32</codecFlavor>
<codecName type="string">cook</codecName>
<pluginName type="string">rn-audiocodec-realaudio</pluginName>
<streamContext type="bag">
<audioMode type="string">music</audioMode>
<presentationType type="string">audio-video</presentationType>
</streamContext>
</stream>

</streams>
</audience>

</audiences>
</job>

Dark-Cracker
29th June 2003, 13:07
hi,

i hope this can help u :)

AC3Source => useless because this filter automaticly made a downmix for stéréo output.

i have made a 5.1 wav file use the wavsource in avs script and i can play this script (no error but no sound because i have not a 5.1 speaker). if i extract the .wav from the .avs file using vdubmod the ouput result is still a 5.1 wav file.

normaly besweet support WAVFORMAT EXT but i think u must ask this question at dspguru to be sure :)

Ps: in ur audience u use cook codec i was thinking whrl is the codec for multichannel ? i am wrong ?

Bye

karl_lillevold
29th June 2003, 16:41
Originally posted by Dark-Cracker
AC3Source => useless because this filter automaticly made a downmix for stéréo output.

i have made a 5.1 wav file use the wavsource in avs script and i can play this script (no error but no sound because i have not a 5.1 speaker). if i extract the .wav from the .avs file using vdubmod the ouput result is still a 5.1 wav file.

normaly besweet support WAVFORMAT EXT but i think u must ask this question at dspguru to be sure :)

Ps: in ur audience u use cook codec i was thinking whrl is the codec for multichannel ? i am wrong ?
Thanks for the info. Can you use the avs script with wavsource being a 5.1 wav file as input to producer? I will try again as well, maybe when I tried to create 5.1 wav using besweet earlier, it was an older version of besweet or I did not use the right options.

The 4cc code for the multi-channel codec changed from whrl to cook just this last week, when all the work was integrated in the same DLL as before. 'whrl' was used during development. The correct 4cc code to use now is 'cook'

nFury8
30th June 2003, 10:42
Huh? What's this? Real Audio with 5.1 output? Never thought I'd see this realized soon. As I recall, our esteemed main man Karl pointed out in earlier threads that a Real 5.1 audio won't happen. Heheh. Although I seldom have time for video encoding now due to work skeds, I'm glad to see this direction taken by Karl and his gang. :)

Dark-Cracker
30th June 2003, 12:01
yes avisynth keep the 6 channels if the wavsource is an 5.1 wav.
u can use the .info() function in the script this will display u usefull informations such as audio channels. for besweet simply use the -6chwav switch and don't select downmix option (for a test try without the -azid part.

i have tested with the whrl codec and it work with 5.1 .wav input if the wav only contain 2 channels (and 4 silent channels) don't encode with 6 channels but if u use an .avs file for input with wavsource it work. i suppose it because i have an old whrl codec (whrl at 4).

but of course i can't read it and my rmvb parser say me there is only 1 channel at 11025 hz.

Ps: i have made these test quickly i hope i have not made a mistake :)

hope this can help u :)

Bye.

karl_lillevold
30th June 2003, 22:46
Please see this thread (http://forum.doom9.org/showthread.php?s=&threadid=56684) for more information.

@DC: Thanks, it seems the latest Beta BeSweet works just fine, and that it now creates 5.1ch WaveFormatEx files that Producer can read, both by themselves and in Avisynth scripts (2.52).

@nFury8: Thanks! Sorry if I caused some mis-understanding as to future plans in RealAudio.

Sirber
17th July 2003, 22:27
https://helix-producer.helixcommunity.org/specs/Producer9.2/9.2Release/index.htm#25_RealAudio_Multi-Channel_Audio_Codec

The link don't work :(

karl_lillevold
18th July 2003, 06:25
updated link info:
https://helix-producer.helixcommunity.org/specs/Producer9.2/AudienceFile/index.htm#Audio_Codec_Tables

or go to Helix DNA Producer 9.2 Feature Specification (https://helix-producer.helixcommunity.org/specs/Producer9.2/9.2Release/index.htm). Click on Audience File Feature Specification (https://helix-producer.helixcommunity.org/specs/Producer9.2/AudienceFile/index.htm), then on Audio Codec Tables (https://helix-producer.helixcommunity.org/specs/Producer9.2/AudienceFile/index.htm#Audio_Codec_Tables). Whew. complicated.

Sirber
18th July 2003, 12:43
Thx Karl :)