12 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
I actually thought people would be more aware of this stuff. I've made quite a few vids for the echoes wiki and all of them were done on PAL echoes at 60 Hz. I might as well post all the problems I've had with video capture and my solutions for all of them.

My cap card is some crap Avermedia DVB thing, it's the usual BT878 chipset which all cheap cards will use. I had nothing but problems with it, even using the supplied software and drivers it would not capture AVIs without sound glitches (this is of course all on PAL). I only have the card because I accidentally stumbled across a security vulnerability in the website of a well known British electronic parts supplier, and being the good fellow that I am, figured out a working exploit, sent it to them via email, and recommended they fix it pronto. :P

The supplied software was no good, so I moved to virtualdub next. This had a problem which both Flamancipator and jng have reported, that being losing sychronisation between video and audio, so by the time you've recorded ten minutes of play, your audio is way behind your video (or is it ahead ? I can't remember, and I don't care much). I *think* this is caused by video frames being dropped but no compensative action being taken by the recording software, so the video ends up shorter than the audio, but regardless of what caused it, it was very annoying, as it made the card useless.

I can't remember what I did next, but in the end I came across a combination which worked for me on PAL at 50 Hz. The combination was BaoTV

http://www.terra.es/personal2/jmbbao/

and a set of alternative open source drivers for BT878 cards. I can't remember where I found them originally, but I have them mirrored here:

http://www.ali1548.ukshells.co.uk/btwdmdrvinstaller5.3.8.zip

There is probably a newer version by now, but those are the ones that worked for me. More recently I have persuaded this combination to do 60Hz capture as well. BaoTV doesn't look up to much, but really it does everything you need to capture AVIs and nothing you don't need; once you have the AVI you just load it into virtualdub and proceed as usual. Flamancipator's BT878 card had exactly the same desync problems as mine, and the BaoTV / open source drivers combo worked perfectly for him as well (on NTSC, this time), the only difference being that I handed the solution to him and he didn't have to spend three months figuring it out himself. :P

Before Echoes came out I'd moved my everyday computing activities onto Linux, so this stuff didn't matter any more. However when jng was having problems with his capture, I was roped in to help again. According to some site I came across, his card wasn't a BT8xx card, so I assumed the open source drivers and BaoTV (which was specifically written for the BT8xx chipset) wouldn't work, so I looked for another solution. I knew that VideoLAN client had the ability to capture video from a source because of my experiments with it on Linux, so I booted Windows and looked for a way to convince it to capture video on Windows XP. It took a day or two, but eventually I came up with this (this is a batch [.bat] file):

edit: code snipped to restrain horizontal scrollbars - nate

(you can get this at
http://www.ali1548.ukshells.co.uk/scu/vlc_60hz_capture.bat
)

Just quickly, to use it you need to
i) find the exact names of the video and audio capture devices you're going to use (they're in the Control Panel under "Sound, Video and Game Controllers")
ii) install VLC for windows ( http://www.videolan.org/vlc/ )
iii) place the batch file into your c:\Program Files\VideoLAN\VLC\ directory or wherever
iv) edit the batch file in notepad, and place the appropriate device names from the control panel into the quotes at the top of the batch file (I'm assuming they have to be exactly right)
v) run the batch file
vi) do a prime single-segment 1:00 run
vii) type "quit" into the VLC console to save the file to whatever filename you specified at the top of the batch file.

The only codec I could get to work reliably here was Motion JPEG (vcodec=MJPG), which winamp and windows media player didn't seem to like much, but virtualdub (or vdubmod anyway, not sure about vanilla vdub) has an import filter for it, so you can just encode and save in the normal way. It looks a bit long winded, but it worked fine on my card.

jng didn't use this method in the end, he found some settings for a program called DSelect that worked for him (PAL-60 again here), but you'd have to ask him about that.

The final thing I'll mention is capturing on Linux, which is how all the videos on the echoes wiki that I made were done. This is not a quick solution because it will invariably involve a kernel recompile to make available the relevant video for linux / I2C / BT878 drivers in the Linux kernel. If you know enough about Linux or can find an appropriate howto (they do exist), though, this works pretty well. The software I use to actually do the capture is mplayer (or mencoder to be precise), with a script that looks like this:

Code:
#!/bin/bash

/home/ali/bin/mplayer/bin/mencoder -ovc lavc -oac pcm -tv driver=v4l2:input=1:device=/dev/video0:normid=7:alsa:width=384:height=288:brightness=5:contrast=10:fps=30 -vf-add kerndeint=5,crop=x=9:y=9:w=360:h=268 -o ~/`date +%y%m%d%H%M%S`.avi -lavcopts vcodec=mpeg4:vbitrate=4000 tv://


Again you need to make sure the version of mplayer you're using has video for linux support compiled in, the default one on arch-linux does not, so I had to compile mplayer from source (annoying, but probably not as hard as it sounds). Needless to say this does PAL-50 and PAL-60 with no problems (the above script is for PAL-60 as selected by normid=7 and fps=30). This one uses MPEG-4 one pass to capture, although it would be easily modifiable to use huffyuv or whatever.

The observant will notice that my videos on the wiki are not perfect. Some of them suffer from low video quality, and nearly all of them have a strange "burp" at the end. However both of these are twopass encoding problems, not capture problems, so what I have provided here is still sound (and I've fixed the video quality problem now by changing a setting for the open source divx snap-in replacement codec I'm using). The sound problem persists, but it's only a minor annoyance, so I never bothered investigating ways to fix it.

Finally I'll just say that Linux users can find a good Linux replacement for virtualdub in the avidemux2 project:

http://avidemux.sourceforge.net/

which is not as good as vdub, but is not bad either. I usually crop my videos using this, save them and then do the encodes in two passes using shell scripts which call mencoder again (you can have those too if you want them).

avidemux2 has also been ported to mac os X as part of the fink and darwin-ports projects, although once more getting it up and running is unlikely to be trivial.

http://darwinports.opendarwin.org/
http://fink.sourceforge.net/
Thread title: 
or you could just get everything you need for capturing in 60htz right here: http://www.iulabs.com/

i use iuVCR with my Leadtek Winfast TV 2000 XP Deluxe,  works like a charm,  use the drivers from that site.  Nate has a video from me done with this method,  just ask him how good the results are.
it's kinda funny how when you can't get something to work, help is nowhere to be found, but once you've figured it out, there is no end of people saying "that's easy, I did it in five minutes."

Those drivers on the iuVCR site present yet another driver option for people with capture problems. It seems that iuVCR isn't free software, though, so BaoTV / VLC are still a better option if you don't want to pay anything and don't want to break the law.
well actually i have found a way to use iuVCR without cracking it and without paying for it

so technically what im doing isnt illegal.

my method took me a good few months to figure out,  because i had the same problems with pal60.  I used to use DScaler (what jng uses now) but i got sick of the dropped frames and crappy resolution.  So eventually i came up with the above method for capturing my videos.

if anyone wants me to explain a bit better,  pm me in irc or something
why wouldn't you post it here, so everyone could benefit from it?
wasnt sure weather or not it was ok to.  ill post it a bit later

/edit:

open the registry editor and delete this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{023E4B17-21DE-B9A9-C408-F1B79B5DD793

that will reset the 30 day trial on the program.  best to do this when you're down to 2 days or something.

Basically you're still using the trial,  just not limited to 30 days
red chamber dream
Hey, if it's not illegal, of course it's okay. I know it would help at least a few people here.
iuVCR drivers doesn't work for me Crying or Very sad

Youre recording of fighting Omeg Pirate is one of the best quality videos I ever seen Shocked Upload and post a link here!

I'm using DScaler for recording PAL 60Hz and then I edit the audio/video sync manually i Virtual Dub (not the "fit sound to video" option)

It works like a charm :D

(I just finished Resident Evil 4 so I'm gonna continue running today.)

Nice to have this topic sticky!
isn't pal color awesome, though?
Yes it is, way better than US. If AndehX could just upload his Omega Pirate fight from Prime 1 you'll see for yourself. PM him or something, it's truly amazing!
dont think ive got it anymore,  but ill make another one quick just to show.

/edit - this is roughly the best quality I can produce with my setup:
http://veejay.pwp.blueyonder.co.uk/qualitytest.avi

p.s. dont be suprised if the video seems a little jerky,  you will need quite a bit of RAM for it to play properly due to the 4000kbps bitrate
that's a 404 for me.

I would be able to do 640x480-ish at 30 fps with this setup very nicely, but for some strange reason I get garbling of individual frames every so often. Not sure whether it's a bus speed thing, an OS thing, a driver thing, a cheap 'n' nasty cap card thing, not enough CPU, the fact that I exploit my TV's SCART to provide me with a second signal to send to the PC, the fact that I have the video running through a 15-foot long cable, or what (but it doesn't seem to be software).

Oh well, given that the card, the operating system I run it under, and the capture software I use were all free, I suppose I can't complain too much. 3xx by 2xx captures work lovely anyway.

nate's card owns.
yeah 404 cause i deleted it after like 2 days
heh, good to hear an expert say that. don't feel so bad about plugging it in the faq anymore.
yeah your captures are very good nate, especially the high quality ones,  only thing I dont like is that you dont crop the black borders around the edges of the video.
i used to do that, but the math just got too horrible for me to put up with. divx only accepts certain dimensions, and it becomes even more difficult when trying to go to .5x size. the cuts required had to be too precise to be done efficiently, and so they were "cut" ...

... yeah.

you can look at it as a guarantee you can see the whole screen if you play the videos on your divx-compliant dvd player.
Quote from njahnke:
heh, good to hear an expert say that. don't feel so bad about plugging it in the faq anymore.


I wouldn't call myself an expert, at least not where digital video is concerned - I just have this bloody-minded hatred of being beaten by technology. The ultimate weapon in this sort of fight of course is being able to write your own software - then the technology will never win.

Here's that two-pass mencoder script I mentioned earlier.

Code:
#!/bin/bash

# place path to mencoder here
MENCODER=/home/ali/bin/mplayer/bin/mencoder

func_usage() {
  echo "usage: encode.sh  inputfile outputfile videobitrate audiobitrate"
}

if test -z "$1" ; then
  func_usage
  exit ;
fi

if test -z "$2" ; then
  func_usage
  exit ;
fi

if test -z "$3" ; then
  func_usage
  exit ;
fi

if test -z "$4" ; then
  func_usage
  exit ;
fi

# note not equals
if test -n "$5" ; then
  func_usage
  exit ;
fi

IPFILE=$1
OPFILE=$2
VBITRATE=$3
ABITRATE=$4

echo "***** PASS ONE *****"
$MENCODER -ovc lavc -oac lavc -nosound \
  -lavcopts vme=5:mbd=1:vbitrate=$VBITRATE:vpass=1 $IPFILE -o /dev/null

echo "***** PASS TWO *****"
$MENCODER -ovc lavc -oac mp3lame -lavcopts \
  acodec=mp3:abitrate=$ABITRATE:vme=5:mbd=1:vbitrate=$VBITRATE:vpass=2 \
  $IPFILE -o $OPFILE

rm divx2pass.log


It is a little rough and ready (it ought to check that the input file you specify exists, that the target file doesn't exist and can be created, that the bitrates are numbers within a certain range, that if pass one fails pass two will not be started, etc.), but it works.
that script makes me smile. things just get better and better in the world.
1.  i dunno wtf that script is for.
2.  I dunno how the hell you wrote it.
3.  I dunno how on earth you execute it.
Quote from AndehX:
1.  i dunno wtf that script is for.
2.  I dunno how the hell you wrote it.
3.  I dunno how on earth you execute it.


then don't worry about it. if you need to ask, it's not likely to be much use to you.

damn, nate's disrespect for capital letters has infected me.

It is a script for operating systems running a port of GNU bash ("Bourne-Again shell"). It calls a piece of software called mencoder to do divx encoding in two passes of avi files with which it is supplied. mencoder is part of the mplayer project for linux at http://mplayer.hu/ , although ports also exist for windows, mac OS X, solaris, BSD and various other unixalikes. bash exists by default on all linux systems and mac OS X systems, and can be very easily installed on all other UNIXy systems. Needless to say running it on Windows is significantly more complicated as you would be likely to need to install UNIX emulation layers such as cygwin or mingw. Running the script is a simple matter of typing

encode.sh avifiletoencode.avi outputfilename.avi 384 96

assuming 384 kbps video and 96 kbps audio, and that the script lies somewhere in your PATH variable.

so yeah, just refer to what I said originally.
soaking through
I wish I knew what you were talking about.
Mmm Bash, I should install Cygwin just for Bash goodness.
you could run "metroid" (from penny arcade, implemented by yours truly)!

http://www.metroid2002.com/metroid

hours of entertainment!
soaking through
How do you run it?
Quote from Ekarderif:
[You] should install Cygwin just for Bash goodness.