Game Development Community

ogg video sound in TGE... sound too low

by Nmuta Jones · in General Discussion · 02/21/2010 (6:12 pm) · 13 replies

I have an .mpg that I converted to .ogg video that plays in my game.

The problem is that the sound is very low in the .ogg file...its almost inaudible.

Have others experienced this?

#1
02/23/2010 (6:14 pm)
It's also happening with .avi files that I convert. I am using the "Theora Goodies".

ffmpeg2theora-0.13.exe

The sound is fine on the original, but barely audible on the .ogg file.

Do I strip the .avi file of its audio and try to implement it another way? It would just seem cleanest to keep the original audio with the video file to avoid audio/video synchronization issues.

#2
02/25/2010 (11:18 am)
Anyone?
#3
03/02/2010 (1:17 pm)
Ok, so I am now to the point that I will hire someone to help me with this:

www.torquepowered.com/community/forums/viewthread/111965

#4
03/02/2010 (2:06 pm)
Nmuta, are you sure that you are converting the video correctly?

Is the converted video only quiet when you play it in TGE or is it lower volume than the original when you play in an external player also?
#5
03/02/2010 (5:43 pm)
@Patrick

Am I converting the video correctly? I have no idea. I drag it onto the ffmpeg2theora-0.13.exe file and it spits out an .ogg that I use.

I don't know which other players can play .ogg files. I tried VLC but that failed. I do need to know what else can play .OGG it



#6
03/02/2010 (6:01 pm)
New information:

I tried playing the videos I converted in Firefox, and the sound is good. so the problem is not the .ogg file, its how I'm playing it in Torque that seems to be the problem.
#7
03/02/2010 (6:03 pm)
here are my scripts:

from VideoVid.gui
//--- OBJECT WRITE BEGIN ---
new GuiChunkedBitmapCtrl(VideoVid) {
   canSaveDynamicFields = "0";
   Profile = "GuiDefaultProfile";
   HorizSizing = "right";
   VertSizing = "bottom";
   position = "0 0";
   Extent = "640 480";
   MinExtent = "8 2";
   canSave = "1";
   Visible = "1";
   hovertime = "1000";
   bitmap = "./africa.jpg";
   useVariable = "0";
   tile = "0";

new GuiTheoraCtrl(videoDialog) {
   profile = "GuiDefaultProfile";
   horizSizing = "relative";
   vertSizing = "relative";
   position = "40 25";
   extent = "320 240";
   minExtent = "8 2";
   visible = "0";
   done = "0";
   stopOnSleep = "1";
   backgroundColor = "0 0 0 255";
};

   new GuiButtonCtrl() {
      canSaveDynamicFields = "0";
      Profile = "GuiButtonProfile";
      HorizSizing = "right";
      VertSizing = "bottom";
      position = "246 373";
      Extent = "140 30";
      MinExtent = "8 2";
      canSave = "1";
      Visible = "1";
      Command = "Canvas.setContent(PlayGui);";
      tooltipprofile = "GuiDefaultProfile";
      ToolTip = "end video";
      hovertime = "1000";
      text = "End Video";
      groupNum = "-1";
      buttonType = "PushButton";
   };
};
//--- OBJECT WRITE END ---


and my trigger, which plays the video. It plays, but the sound is REALLY low.
function videoTrigger::onEnterTrigger(%this,%trigger,%obj)
{
   Parent::onEnterTrigger(%this,%trigger,%obj);

   $TimesEntered++;
   $TimesEnteredTotal++;

   if ( $timesEntered == 1  ) {
       
	   echo ("my trigger name is "@%trigger.getName() ) ; 
	   
          alxStopAll();
          Canvas.setContent(VideoVid);
          Canvas.setCursor(DefaultCursor);
          videoDialog.setVisible(true);
          videoDialog.setFile("arcane.fx/data/video/temple.ogg");
       

   }

//if ( $timesEntered >= 2  && videoDialog.done == false ) {   
if ( $timesEntered >= 2 ) {
				 
					  Canvas.setContent(VideoVid);
					  Canvas.setCursor(DefaultCursor);
					  videoDialog.setVisible(true);
					  videoDialog.setFile("arcane.fx/data/video/temple.ogg");
				
				  $TimesEntered--;
   }

   if ( $timesEntered >= 2) {
                      Canvas.setContent(VideoVid);
					  Canvas.setCursor(DefaultCursor);
					  videoDialog.setVisible(true);
					  videoDialog.setFile("arcane.fx/data/video/temple.ogg");
     
      //videoDialog.setVisible(false);
   }

}

function videoTrigger::onLeaveTrigger(%this,%trigger,%obj)
{
   Parent::onLeaveTrigger(%this,%trigger,%obj);

   echo( "","player left trigger" );
    videoDialog.setVisible(false);
    VideoDialog.stop(); 
}
#8
03/02/2010 (7:29 pm)
If you play the video outside torque, is the sound ok?
Are the rest of the sounds in torque loud enough?

Check:

scriptsAndAssets/client/defaults.cs

Look for:

/// The overall system volume at startup.  Note that 
/// you can only scale volume down, volume does not
/// get louder than 1.
$pref::SFX::masterVolume = 0.8;

/// The startup sound channel volumes.  These are 
/// used to control the overall volume of different 
/// classes of sounds.
$pref::SFX::channelVolume1 = 1;
$pref::SFX::channelVolume2 = 1;
$pref::SFX::channelVolume3 = 1;
$pref::SFX::channelVolume4 = 1;
$pref::SFX::channelVolume5 = 1;
$pref::SFX::channelVolume6 = 1;
$pref::SFX::channelVolume7 = 1;
$pref::SFX::channelVolume8 = 1;
That's what the script should look like. You can also set the master volume to 1 to make it full volume.
#9
03/02/2010 (8:39 pm)
Oh i think you may have missed post #6 above.... the sound plays fine outside of Torque in the .ogg video file.
#10
03/03/2010 (4:18 am)
Yes I did. You can scratch question 1 which leaves the rest as your culprit.
Another thing you can look at is the options menu in game. What is the audio set for?

That's where your problems have to be. Theora video is almost as easy as a guibitmap control to set up.
#11
03/03/2010 (4:43 am)
@Mike
I checked, and all of the defaults for sound are as you have listed.

I am using AFX 2.0 in TGE 1.5.2 and the sounds for special effects are fine.

I noticed that AFX has its own defaults file, but the only sound related thing in there is an event listener:

$pref::Audio::usePlayerCentricListener = true;

but that shouldn't impact the sound of my video, should it?
#12
03/04/2010 (4:47 pm)
I don't use afx, so I don't know the answer.
I don't know which channel theora uses for sound. I do know, in stock tge 1.5.2, theora works just fine, so it might be something in afx causing your problem. Try adding your theora file to the stock starter.fps and see if it works properly there.
(I'm out of ideas after this)
#13
03/05/2010 (6:45 am)
Agree with Mike on that, if it does turn out to be AFX, someone may be able to help if you post in the AFX forums.