Log in

View Full Version : How to convert with gpu: dvdrip ==> mkv/h.264/aac[multi-track]/subs[multi-track]


vvcepheus7
21st October 2010, 23:06
Hello!

I would like convert an DVD ripped [VOB's & IFO's] to the format :

mkv
h.264
AAC ==> with 2 audio tracks (English and Spanish) and 5.1 channels.
subtitles ==> with 2 subitítulos tracks (English and Spanish)

I would like to make the whole process with MediaCoder because this program have CUDA conversor asisted with GPU.

I know convert dvd rip to mkv/h.264/aac formats but with only an audio track and no subtitles.

You have some tutorial? I searched the forum I found nothing!

thanks and greetings! :)

PS: I accept suggestion!!
PS2: sorry for my poor english xD

Inspector.Gadget
21st October 2010, 23:19
MediaCoder's use of the CUDA libraries is violative of the rights of the licenseholders in that software. This is consistent with MediaCoder's abuse of other licensor's rights in e.g. violating the GPL with respect to ffmpeg and violating the redistribution clause of the Nero Digital Audio encoder software. Additionally, MediaCoder is badly broken software written by the typical unskilled fly-by-night "developers" that make license violations their bread and butter. Therefore, don't expect much help with MediaCoder, because most everyone here uses software that's better functionally and legally.

vvcepheus7
21st October 2010, 23:27
thanks for responding. I had no idea it was illegal software. I saw that the program was free thought it was legal under the GPL. But I'm not knowledgeable about the issue of licenses.

Similarly, you could recommend me some compatible with CUDA software to compress H.264, that supports batch mode, which is free and legal?

Thanks and greetings!

Inspector.Gadget
21st October 2010, 23:38
DGIndexNV does GPU-based indexing and decoding for MPEG-2/H.264/VC-1 content and will allow you then to load the file's index in Avisynth to do whatever you want with it. Please check neuron2's site for a list of supported GPUs and make sure yours is there.

GPU-accelerated decoding may not be faster than what you can achieve with your CPU. For DVD content, you can start with DGIndex (not DGIndexNV), which is available free, and see if the CPU-only MPEG-2 decoding done into Avisynth is fast enough. If you post information about your CPU, RAM and GPU, others may be able to recommend one or the other based on their own experience.

Here are my other recommendations:
x264 for H.264 encoding - as far as perceptual quality for a given filesize and encoding time, nothing beats it.
Nero Digital Audio encoder (available free) for AAC encoding - it scores very well against other audio codecs in listening tests.
Subrip for getting text (SRT) subs out of DVD content through optical character recognition. Very stable, and Subrip can be made very fast if you have a good character library for your language (for Roman letter languages like English, Spanish, French, etc., ai4spam.rar is a good character map but you may have to add some characters with accent yourself).
MKVMerge (MKVMergeGUI) for Matroska muxing: it's very easy to use and has many options.

You should also decide if you want one front-end for all or most of this: I would look at MeGUI, Staxrip, and Ripbot264 at least to see if they might make things easier.

nm
21st October 2010, 23:46
Similarly, you could recommend me some compatible with CUDA software to compress H.264

I wouldn't bother with CUDA encoding. It's only faster than x264 (at ~ same quality) if you have a very fast GPU and a slow CPU. Plus you get very limited control over the encoder and it's probably impossible to get good quality out.

You could use the GPU for decoding and preprocessing (deinterlacing and/or denoising) as Inspector.Gadget said, but I also doubt that it would be useful for a DVD source. Just use AviSynth for filtering and x264 for encoding. There are many GUIs around (http://forum.doom9.org/forumdisplay.php?f=78) that can handle batch encoding.

vvcepheus7
21st October 2010, 23:49
DGIndexNV does GPU-based indexing and decoding for MPEG-2/H.264/VC-1 content and will allow you then to load the file's index in Avisynth to do whatever you want with it. Please check neuron2's site for a list of supported GPUs and make sure yours is there.

GPU-accelerated decoding may not be faster than what you can achieve with your CPU. For DVD content, you can start with DGIndex (not DGIndexNV), which is available free, and see if the CPU-only MPEG-2 decoding done into Avisynth is fast enough. If you post information about your CPU, RAM and GPU, others may be able to recommend one or the other based on their own experience.


Thanks for responding. I would like to clarify one thing. I used MediaCoder with H.264 compression option with CUDA. This means that a 2-hour video in avi/divx could be converted to MKV/H.264 in 10 minutes; so very speedy. So I do not want to use cuda to decode it I want use for encoding. Sorry for my English! is difficult to understand me! hehe :)

So, is there any application using CUDA COMPRESS?

thank you! :)

:p

Inspector.Gadget
21st October 2010, 23:54
There are such applications (I think Badaboom is one), but the quality of the encoded video is awful next to what x264 can achieve. The advantage to using CUDA for decoding, at least as implemented in DGIndexNV, is that the decoder gives you accurate output that's the same as what a pure software encoder would deliver. You get the speed advantage of some GPU offloading (depending on your CPU), but you don't take a quality hit from an un-optimized encoder.

Also, I think TMPGEnc Xpress can use CUDA for encoding and decoding.

vvcepheus7
22nd October 2010, 00:12
thanks for answering!

Referring to the picture quality I know that x264 is much better. However, I can not tell the difference when I use compression cuda. So the truth is I prefer to be very fast to get a gain in quality because I have to compress a lot of videos (hundreds).

I used tmpgenc and badaboom. Tmpgenc supports bach mode but only allowed to use cuda for decoding and filters (which never use). Badaboom can using cuda compression but not has a batch mode and therefore I have to encode the videos one by one.

Then, as these programs only know so I was forced to use MediaCoder.

Using x264 for encode video takes an hour (in my pc; phenom x4 2.6ghz/4gb/gtx9800). Using CUDA 10 minutes late for the same video. The difference is remarkable.

So I have lots I want to convert dvd to MKV/H.264 and therefore wanted to use CUDA to speed up the work.

The problem I have is that, if I use MediaCoder, I do not know how to configure batch mode for include various tracks of subtitle and various tracks of audio.

If I had another program equivalent to MediaCoder would be very interested in knowing! :)

thanks and regards

LoRd_MuldeR
22nd October 2010, 00:27
You have to understand that x264 can be really fast - when using "fast" settings. It's kind of pointless to use rather "slow" settings and then complain about speed ;)

GPU encoders are always advertised with speed, but they (intentionally) leave out the aspect of quality. Speed means absolutely nothing without taking the resulting quality into account!

A fair encoder speed comparison has to be done with settings that give the same quality at same bitrate! And then x264 won't be that much slower (if at all) than those GPU/CUDA encoders.

If you don't care about quality, try "x264.exe --preset veryfast". Moreover even with such fast settings you can still get excellent quality, simply by spending enough bitrate...

Blue_MiSfit
22nd October 2010, 01:51
Hi vvcepheus7!


Referring to the picture quality I know that x264 is much better. However, I can not tell the difference when I use compression cuda


This is shocking. I realize not everyone has golden eyes, but the differences are absolutely night and day to me, at typical bitrates. We're talking the difference between a DVD source and an old 240p YouTube encode (!)

What bitrate was used for these encodes? I only ask because it's possible you were using a very high bitrate, at which point the difference between encoders begins to disappear.

Be very very careful when choosing to do a lot of encodes with CUDA. If you're totally sold on the quality of your CUDA encoder at a bitrate that is acceptable to you, AND x264 is slower (even on --preset ultrafast) at that same bitrate, then by all means.

At typical bitrates (4-9mbps for 1080p and .5-2mbps for 480p), I've yet to find a CUDA encoder that delivers remotely acceptable quality, even from EXTREMELY expensive "professional" grade hardware / software packages. In fact, in every single test case, x264 was not only faster on the same hardware, but also delivered better quality.

SO... long story short, do lots of testing before you backup your whole library and find out that most of it actually looks like ass :)

CUDA decode via DGDecNV is pretty awesome though, in some cases.

Derek

Selur
22nd October 2010, 07:02
About speed, it's all in the settings of x264. I agree with Blue_MiSfit. Over here (i7 875k, GTX470, 8GB RAM, SSD) on DVD input x264 is faster and delivers better quality when using mencoder as decoder and x264/cuda as encoder. (btw. Hybrid also includes a cuda encoder; got no cuda decoding since it would need a cuda based decoder that can output to stdout, but one can feed it with an avisynth script as input)

vvcepheus7
25th October 2010, 02:12
Thank you all for your replies.

LoRd_MuldeR, you're absolutely right. In my case using MeGUI with x264 with xH264 DXVA settings with bitrate of 2.5Mbps. Then in addition to a resized to 720*x to remove the black bands. Then I added the filter Lanczos4. With this configuration MeGUI me into compression at 60fps for filtering/resize and 50fps for encoding. I have not tested the configuration x264 "fast" or "ultrafast". How many fps should get about?

Then, simply used MediaCoder 2.5Mbps bitrate, unfiltered and without scaling. Just removing black bars. I got 250fps speed thanks to cuda. Much faster.

Then it is true that Megui looks a little better but not much. At least using these bitrates.

Blue_MiSfit, I think I notice little difference in quality because I use higher bitrates. Look:

dvd (720 * 576): 2500kbps
HDReady (1300 * 720p) 8000kbps
FullHD (1980 * 1080p): 15000kbps.

The truth is that the issue of space that I occupy the videos do not worry me because I have lots of memory available. My main problem is that I have to compress a lot of videos. Every week I downloaded about 50 videos (free of Copyright). Then I to compress all in format MP4/H.264 or MKV/H.264. So much speed I need to do the compression.

I used always to software compression on 1.5mbps with good results, but I still think and why? total if you go up to 2.5Mbps do almost the same result but much faster (though you spend more than a 1GB memory).

anyway, someone could recommend some form of batch processing dvd's with MeGUI? is it possible? Is it possible use cuda for compression from MeGUI in any way?

thanks and greetings!

PD I use google translater, sorry for my english!! xD

:D:D:o

kypec
25th October 2010, 07:09
Every week I downloaded about 50 videos.
:readrule: and better luck on other forums where you might get help then!

PD I use google translater, sorry for my english!! xD
:D:D:o
The translator will come handy also when re-reading the rules. No need to apologize for insufficient language skills, you better do apologize for breaking our rules though.

vvcepheus7
25th October 2010, 11:40
kypec mate, not assume things that I have't said :) The videos that I downloaded are free of copyright. I've clarified editing the initial post. Sorry for the misunderstanding.

Greetings

Blue_MiSfit
25th October 2010, 13:00
Lanczos4 is not exactly fast.

Comparing x264 with avisynth resizing is not fair to comparing CUDA with no filtering whatsoever. Remove this variable, your results are meaningless otherwise.

Also HD Ready does not equal 720p. HD Ready is a terminology used to define a display device that has a native resolution that is at least 720p. Said display device does not usually contain an ATSC or QAM tuner (in the US anyway).

Full HD is another bullshit marketing term that does in fact mean 1080p, so yeah ><

Derek

nm
25th October 2010, 13:19
Comparing x264 with avisynth resizing is not fair to comparing CUDA with no filtering whatsoever. Remove this variable, your results are meaningless otherwise.

He also didn't say which encoding settings were used exactly. Doesn't MeGUI have many DXVA profiles and even the fastest one is only about as fast as --preset fast?

For a sane comparison, first make x264 run as fast as CUDA and then compare visual quality. Try profiles as fast or faster than --preset veryfast.