Quantcast KDVD: Xvid TV Episodes to KDVD Guide - digitalFAQ.com Forums [Archives]
  #1  
06-25-2006, 05:22 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
With this guide, I have made KDVDs containing 12 40-45 minute TV show episodes, from XViD, with (what I consider) excellent quality for playback on standalones. Granted on a higher resolution display, you may notice some blockiness and whatnot from the CBR and 352x480 resolution, but I didn't make them for watching on a monitor. On a TV it looks great!

I am writing this guide because it took me a ridiculously long time to get a process down that would work well with the current software, Vmesquita's KDVD guide is out of date enough to make using the new CCE a bit confusing, plus I streamlined the process a bit to make it faster for making KDVDs of my favorite TV shows.

Software I'm using:


Besweet 1.5b31
Besweet GUI 0.7 b4
CCE 2.7
DVDLab Pro 1.53 or something similar. (authoring)
AVISynth 2.5.6

Vmesquita's guide (for the CCE templates included in the ZIP)
Dialhot posted a link to the guide in the following post:
http://www.kvcd.net/forum/viewtopic....ide+cce#125067

Excel (Or another spreadsheet program, I just use it to make my calculations easier)

This is all assuming a 24 episode season in XViD with MP3 audio, cut into two 12 episode discs, and only focusing on one disc at a time. You could do both at once and be more efficient, but this is how I'm doing it

Transcoding Audio

Man I love BeSweet. Seriously.

Fire up BeSweetGUI, choose one of your AVI files as the input, and set the output to MP2.

Under the BeSweet tab, Check the box for "Downconvert Sample Rate"

Under the SSRC tab, set the sampling rate to 48000hz, and check the Normalize box.

Under the 2Lame tab, use Stereo for the Encoding Mode, and I like to use a Total Bitrate of 192.

Now click on Batch Mode (the awesome part!)

Select your 12 episodes that you need to get some Mp2 action from, and drag them into the batch window, then click "BeSweet's List -> Multiple MP2s", then wait a while for the audio to transcode.

Make sure everything sounds good and normalized and whatnot in your audio player of choice, and go back and make adjustments as necessary (play with the pregain settings in the besweet tab). I've always been happy with the normalization though.


AVS town

Now we need to make our AVS files for the videos to resize them and whatnot.

Here's the AVS template I've been using, from Vmesquita's guide. Note that I'm using 352 width. This is so that so much video can fit on the KDVD without CCE blowing up. I'm also using GripFit in this script, but you can optionally use something like FitCD to get your resizing and paste it in there in place of the gripcrop/size/borders lines.

Code:
######################################################################
# Based on Optimized Script to remove DCT Blocks by Girv and DialHot #
# Also kinda ripped off from Vmesquita's guide                       #
######################################################################
##############
# Parameters #
##############
#Use 720 or 352 to KDVD, 528 352 to K(S)VCD
m_width=352
#subtitle="name_of_the_subtitle.smi" 
# Add a # in the beginning of this line if you
#don't need subtitles.
movie="<Your Movie.avi>"
myoverscan=0 # Test values from 0 to 3 here. Bigger files produce more quality but
#a value too big will cause undesirable black borders on your TV.
##########
# script #
##########
AVISource(movie,false)
#Post-Process
Blockbuster(method="noise",detail_min=1,detail_max=8,variance=0.3,seed=5823)
ATC(1,2,4,0.5,false)
TemporalSoften(2,7,7,3,2)
Blockbuster(method="noise",detail_min=1,detail_max=10,variance=0.5,seed=5823)
#Resize, overscan and borders
gripCrop(m_width, 480, overscan=myoverscan,source_anamorphic=false,dest_anamorphic=false)
GripSize(resizer="lanczosresize")
GripBorders()
#Subtitles #
############
#TextSub(subtitle) # Add a # in the begining of this line if you don't need
#subtitles.
converttoyuy2()
Yeah, so make one of those for each video, and play it back in something like mplayer2 or zoom player to make sure it looks good.

Calculation City

(very largely ripped off!)

I use EXCEL, but you could easily use notepad and calculator.

Take the DVD size (4482MB), subtract a 200MB overhead for muxing, then subtract the total size of your MP2s (just select them all in their directory, right click on one and choose "properties" to see their total size).

Take that number, divided by the total number of SECONDS the movies are (minutes * 60), then divide that by 8000 (like: (audio size/seconds)/8000 ) to get your video bitrate.

Video Encoding

Make sure you've got Vmesquita's guide, because it has a couple .reg files that will put a KDVD template in CCE. I used the "KDVD Template267.reg" one. Just double click on it and accept.

Now fire up CCE and click the Template menu, and make sure the "KDVD/KSVCD 352/480...." one is selected. Click on it again after it is selected to open the template setting editor.

The settings I use are: MPEG-2 (not for DVD! it will resize to 720 wide, making your video ridiculously squashed!), 1-Pass CBR, Video Information File, 23.976 FPS, Pulldown (2:3 worked for me, but so did 3:2. I really don't know much about it except that it's necessary.), 4:3 aspect ratio, then under Bitrate, put in the bitrate you calculated earlier. The last one I did was 935.

Now Save the template as something like "My KDVD", then cancel out of the editing window. Set your new template to active, then drag your AVS files into the CCE window. All the settings will automatically be applied, and your videos, even if they vary in length, will have an even bitrate! Easy!

Now Let those encode (30 mins per episode for me).

Again, check the videos out in zoom player or something to make sure they're acceptable. Remember, even if they lack some detail, they will look much better on television.

Authoring

Now for this, I really can't write a better guide than those over at Doom9. I used their DVDLab Pro guide and it was really spot-on.

http://www.doom9.org/mpg/dvdauthoring.htm

Well that's it! Check out your hard work and burn!

Do the same for the 2nd disc.

Again, of course you could nitpick and be more careful, and spend more time encoding and all that, but this guide isn't made for that. It's for efficiency and speed. I would love to see someone make one for better quality!

If there are any changes you think I should make, or you spot any errors, please let me know!

-Dassin
Someday, 12:01 PM
admin's Avatar
Site Staff / Ad Manager
 
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
06-25-2006, 05:24 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Doubt I'll need this post, but it's here for adding more.
  #3  
06-25-2006, 05:46 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Hello,

Great guide but if you permit, there are a lot of things to discuss, and some that really must be changed.

Quote:
Originally Posted by Dassin
Under the 2Lame tab, use Stereo for the Encoding Mode, and I like to use a Total Bitrate of 192.
You can stay with 128 with no real problem.
Quote:
Select your 12 episodes that you need to get some Mp2 action from, and drag them into the batch window, then click "BeSweet's List -> Multiple MP2s", then wait a while for the audio to transcode.
Didn't you have any problem using directly avis ? You were lucky .
Besweet handles avi really badly (big sounbd peak in the first second + big length time mistake when the source is mp3 VBR).

Quote:
Code:
######################################################################
# Based on Optimized Script to remove DCT Blocks by Girv and DialHot #
This script is one of the oldest one I did. I suggest you to upgrade it at least to the script V5 you will find there :
http://www.kvcd.net/forum/viewtopic.php?t=7223

(note : can you tell me where you found the script ?)
Quote:
Video Information File, 23.976 FPS, Pulldown (2:3 worked for me, but so did 3:2. I really don't know much about it except that it's necessary.)
So let me explained to you : DVD in your are (NTSC) needs 29.970 and nothing else. TV shows are generally 29.970 interlaced but it seems you used ripp that have been de-interlaced (and converted to 23.976 progressive). However this is not the best situation.

Quote:
4:3 aspect ratio, then under Bitrate, put in the bitrate you calculated earlier. The last one I did was 935.
Vmesquita guides explain how to do encodes in Q mode. Do not use CCE in 2-pass mode with such low res. The result is awfull. Okay you did not tfind this so bad, but this is only because you probably never experienced a good Q-mode encoding . Try once .

Quote:
Now Save the template as something like "My KDVD", then cancel out of the editing window. Set your new template to active, then drag your AVS files into the CCE window.
Note: this take a LOT of memory. Count 150 MB by avs you thow into CCE.

Quote:
All the settings will automatically be applied, and your videos, even if they vary in length, will have an even bitrate! Easy!
... and to avoid

Quote:
I would love to see someone make one for better quality!
Do exactly what you did but add this :
1/ use 128 for audio bitratre
2/ do an avs script (that I call total.avs) that will have this look :
Code:
a=Avisource("ep1.avi")
b=Avisource("ep2.avi")
c=Avisource("ep3.avi")
d=....
...
a+b+c+d+....

Sampler(length=15)
No use this script with the method described in Vmesquita's guide for 1-pass Q based mode in CCE.

Just with these little changes, the result will be a lot better. You already did the biggest part !

And now you can see that finally, making a KDVD is not so hard
  #4  
06-26-2006, 03:44 AM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Phil, thanks for the input!

I'll definately go with 128 now. I was figuring that if the VBR MP3 was 128 average, an MP2 would be less quality for the bitrate, so I went higher.

As far as loading the AVIs into BeSweet, that was the only way I was able to get a couple of them to work (aside from Goldwave), because BeSweet is able to use Directshow, while virtualdub just chokes on them. Would you reccommend I use BeSweet to just convert them to PCM, then do the fancy stuff after?

The most recent script I found in that link is Version 4, and it does work better I think. The script I used was found in Vmesquita's guide that I linked to.

Yes, the shows I have have been de-interlaced and are now 23.976 in their native format.

As far as your "total.avs" script goes, are you just using that to calculate the frames and time, or are you using that to encode also, and then just setting chapter points at the episode breaks?

Thanks again for the feedback Phil I'll check out the Q Mode stuff tomorrow.
  #5  
06-26-2006, 04:05 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
I'll definately go with 128 now. I was figuring that if the VBR MP3 was 128 average, an MP2 would be less quality for the bitrate, so I went higher.
Actually you are right, the quality is lesser. But IMHO what is not acceptable for a musical audio streams is okay for a movie soundtrack.

Quote:
As far as loading the AVIs into BeSweet, that was the only way I was able to get a couple of them to work (aside from Goldwave), because BeSweet is able to use Directshow, while virtualdub just chokes on them. Would you reccommend I use BeSweet to just convert them to PCM, then do the fancy stuff after?
As told besweet does not handle MP3 VBR very well (MP3 CBR are ok). I'm not sure if it can even use it if you proceed with a first MP3 -> PCM conversion but you can try it. Actually I prefer to extract the MP3 to PCM usign virtualdub, but this need more manual operation (or some programming skills to do a script that takes all the avi and make a batch processing job list for virtualdub... that's what I did for myself).

Quote:
The most recent script I found in that link is Version 4, and it does work better I think.
Lol. You're right, there is no V5 . Take the V4 it's way better than the one you have.

Quote:
As far as your "total.avs" script goes, are you just using that to calculate the frames and time, or are you using that to encode also, and then just setting chapter points at the episode breaks?
No I'm just doing the prediction with it. I prefer to encode episode separately to have an easier authoring afterwards (and also because CCE will really use A LOT of memory when you will load the total.avs in it. More than 1 GB).
  #6  
06-26-2006, 04:10 AM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
In one batch of videos I did, two of them were not valid ACM decodable streams according to VirtualDub, so I had to use Goldwave (which takes ages), or besweet. Besweet actually handled them well, converting them to PCM using directshow.

Definately been considering writing some script generation proggy to help with making all those AVS scripts :P
  #7  
06-26-2006, 05:31 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
In one batch of videos I did, two of them were not valid ACM decodable streams according to VirtualDub
It was probably ac3 then ! In this case the stream do not have to be converted to PCM but siply demuxed. Besweet will handle ac3 streams with no problem (but is does not handle it via directshow as you thought).

Quote:
Definately been considering writing some script generation proggy to help with making all those AVS scripts :P
I'm using PERL for myself and I have a bunch of scripts : one to make the avs from for all sources in a given directory, using a template, one to create a virtualdub job list to extract audio, one to encode episodes one by one calling "CCEFront"... The only thing that I'm doing manually is the prediction
  #8  
06-26-2006, 12:37 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Quote:
Originally Posted by Dialhot
It was probably ac3 then ! In this case the stream do not have to be converted to PCM but siply demuxed. Besweet will handle ac3 streams with no problem (but is does not handle it via directshow as you thought).
Unfortunately, I don't think it's AC3. Both Virtualdub and GSpot see it as Mp3, but where Vdub normally sees it as: "0x0055, ACM Decodable MPEG-1 Layer 3(MP3)", these two just say "0x0055, Decodable Mpeg-1 Layer 3 (MP3)". No ACM! Then when trying to save wav, it says "No audio decompressor could be found to decompress the source audio format". You're right about the directshow in besweet though :P Goldwave uses it though.
  #9  
06-26-2006, 03:32 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Also, when doing the calculations in Q Mode, what should I be putting in for max file size, min and max?



edit: Wow, you weren't kidding when you said CCE uses gobs of memory when using "total.avs". I used sampler(length=15) in there, and it was using 2 gigs of pagefile and another 500 megs of physical!
  #10  
06-26-2006, 05:25 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
Also, when doing the calculations in Q Mode, what should I be putting in for max file size, min and max?
Max file size is not used in 1-pass mode, you can let it empty.
I use to put 0 as min (actually the bitrate never drop so low) and put a max between 3000 and 6000 depending on the resolution I choosed (no need to have a max to 6000 with a VCD resolution).

Quote:
edit: Wow, you weren't kidding when you said CCE uses gobs of memory when using "total.avs". I used sampler(length=15) in there, and it was using 2 gigs of pagefile and another 500 megs of physical!
That's why I use to encode the episodes one by one, using a script and CCEFront, because so much swaping considerably drops down the speed.
But for prediction, there is no other way unfortunally.
  #11  
06-26-2006, 06:55 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
I'm thinking the only way Q mode is going to work for this set is if I predict each one individually.

I figured the Q using total.avs, which was 43(!), and got the size spot-on. However, when I applied the settings I had figured for that to one of my videos, and used my calculated CBR bitrate on the same one to compare, the Q mode one came out about 25% undersized.
  #12  
06-27-2006, 03:06 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
I'm thinking the only way Q mode is going to work for this set is if I predict each one individually.
No, do not do that ! If you do, then you will make the same mistake that you did when you used CBR : you assume that all episodes have the same compressibility. And that is not the case.
Very often two episodes of the same TV show, encoded with the same script and the same CCE config (for instance with Q = 20) lead to encoded files that differ for several % in size. (one will do 450 MB the other one 550 MB for instance). if you predict the files separately, aiming a size of 500 MB for each, then you will encode the first file with a better quality than the second one.

Quote:
I figured the Q using total.avs, which was 43(!),
I'm not surprised, you are actually putting too much on your DVD. I didn't want to tell you that before you can see it by yourself . Q should be below 30 to have a decent quality. But you can be pleased with such (low) quality. It's up to you.

Quote:
This way you can see and got the size spot-on. However, when I applied the settings I had figured for that to one of my videos, and used my calculated CBR bitrate on the same one to compare, the Q mode one came out about 25% undersized.
ughhhh... I knew I should have mentioned to check the box "Disable auto Iframe insertion" in the "advanced" video settings of CCE. Without this, the prediction is always undersized. However the error is closer to 10% than 25%, your result is weird.

Note: did you used the calc designed also by VMesquita (KDVDCalc.exe) to find the correct sample size for the prediction ?
  #13  
06-27-2006, 03:17 AM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Well that makes sense that some would be larger than others now

Like I said, I'm quite content with the quality I'm getting on TV, and everyone I tell how much video is on the disc is amazed as well!

One odd problem I'm running into, however, (with my CBR discs) is that every so often (maybe 10-30 minutes) of constant playback, it starts to stutter. The audio skips, and the video does along with it. This is resolved by going to the menu, then returning. This is with Mp2 audio, though I plan on using AC3 in the next one.

Any ideas on that one?

Yes, I'm using KDVDCalc to calculate the sample size.

I'll try encoding with the "auto iframes" and the Q settings I got while I sleep and see what happens
  #14  
06-27-2006, 03:47 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
Like I said, I'm quite content with the quality I'm getting on TV, and everyone I tell how much video is on the disc is amazed as well!
No problem with that . I remembered to have be amazed also by my first KVCD I did 3 years ago. But two weeks ago, I put it in the trash bin after having try to look at it and returned back to the original DVD to make a decent KDVD backup. We are all learning things step by step, the most important is to have pleasure in what you have done.

Quote:
One odd problem I'm running into, however, (with my CBR discs) is that every so often (maybe 10-30 minutes) of constant playback, it starts to stutter. The audio skips, and the video does along with it. This is resolved by going to the menu, then returning. This is with Mp2 audio, though I plan on using AC3 in the next one.
This is weird with low bitrate like the one you used but the issue is related to your standalone unfortunally. As you said, using AC3 insteed of MP2 can solve the issue. In case you don't know, MP2 is not in the DVD specs for NTSc area and your player is not even required to read it
  #15  
06-27-2006, 03:47 AM
gamma gamma is offline
Free Member
 
Join Date: Nov 2003
Location: Rotterdam (The Netherlands)
Posts: 237
Thanks: 0
Thanked 0 Times in 0 Posts
Just curious, how did you get those episodes?
  #16  
06-27-2006, 03:57 AM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Quote:
Originally Posted by gamma
Just curious, how did you get those episodes?
They were originally from my sister's boxed sets, but I don't have those around anymore and I wanted to watch them on the big screen again
  #17  
06-27-2006, 01:17 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Yeah, so, funny story: I wasn't using the notch matrix.

Turns out the registry settings from Vmesquita's guide for CCE 2.67 sets up a template with normal settings in 2.7 :P
  #18  
06-27-2006, 05:33 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
Turns out the registry settings from Vmesquita's guide for CCE 2.67 sets up a template with normal settings in 2.7 :P
. I definitely solved this problem by changing the default matrix values in the binary using an hex editor. This way I always use the K matrix .
  #19  
06-27-2006, 05:46 PM
Dassin Dassin is offline
Free Member
 
Join Date: Oct 2004
Location: nowhere :(
Posts: 19
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Dassin Send a message via AIM to Dassin Send a message via MSN to Dassin Send a message via Yahoo to Dassin
Here's an error I may be making with the prediction:

Using KDVDCalc, I choose CCE KDVD PAL/NTSC, my length as 505 and my audio as 128 bitrate. Which framerate should I use?

My source is 23.976, but CCE is doing a 2:3 pulldown, making it 29.97, correct?

The sample size for 23.976 is 39.8MB, which I could get easily with good results (less than 30 Q), but for 29.97, the sample size is 31.84MB, which is what I've been trying to get, and gave me a majorly undersized output.

By eyeballing those different sample sizes, that seems to match up.

Any ideas?

Thanks Phil
  #20  
06-27-2006, 06:30 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Dassin
Using KDVDCalc, I choose CCE KDVD PAL/NTSC, my length as 505 and my audio as 128 bitrate
With so long material I can't do nothing but suggest you to use 112. You will save some very precious bytes for the video.

Quote:
Which framerate should I use? My source is 23.976, but CCE is doing a 2:3 pulldown, making it 29.97, correct?
Not at all. This is a soft pulldown. Actually it's just a flag in the mpeg stream that indicate to the player that it will have to decode 29.970 fps during playback. But your encoded video is 23.976 ! Use that.
Closed Thread




Similar Threads
Thread Thread Starter Forum Replies Last Post
KDVD: Need guide to make KDVD UNICHEM Video Encoding and Conversion 6 06-09-2007 07:26 PM
Guide for Avi to Kdvd? DragonZeal Video Encoding and Conversion 4 09-23-2005 07:57 AM
Creating a KDVD with Simpsons Episodes davidmtml Video Encoding and Conversion 6 03-26-2004 11:31 AM
Best way to put Simpsons Episodes on a KDVD? davidmtml Video Encoding and Conversion 0 03-17-2004 10:25 PM
KDVD with TMPGEnc, good quality for lots of episodes on one disc? glent2k3 Video Encoding and Conversion 1 10-25-2003 04:16 AM

Thread Tools



 
All times are GMT -5. The time now is 07:51 PM  —  vBulletin © Jelsoft Enterprises Ltd