digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Video Encoding and Conversion (http://www.digitalfaq.com/archives/encode/)
-   -   KVCD: Creation of a new encoder? (http://www.digitalfaq.com/archives/encode/510-kvcd-creation-encoder.html)

jaiguru 06-25-2002 04:16 PM

KVCD: Creation of a new encoder?
 
Hi All,

This night, after trying to encode and re-encode one of my video samples to test some of the quant. matrix I've found on the net, one idea appears on my brain :idea: :

Make my own MPEG encoder with buit-il optimisations for our purpose (120min film on 1CD). But, it's obvious that it's not possible for me to start from scratch.

So, I wanna know if some of you have ever find a good (near TMPGEnc) MPEG encoder with source code available (if possible for linux or other Unices) :?:

Rookie 06-25-2002 05:50 PM

Try here:

http://www.theorie.physik.uni-goetti...ich/transcode/

I dont have firsthand experience with the mpeg1/2 part of transcode right now but Ive once seen an SVCD encoding an colleague made which was quite good.

kwag 06-26-2002 03:05 PM

Re: Creation of a new encoder...
 
Quote:

Originally Posted by jaiguru
Hi All,

This night, after trying to encode and re-encode one of my video samples to test some of the quant. matrix I've found on the net, one idea appears on my brain :idea: :

Make my own MPEG encoder with buit-il optimisations for our purpose (120min film on 1CD). But, it's obvious that it's not possible for me to start from scratch.

So, I wanna know if some of you have ever find a good (near TMPGEnc) MPEG encoder with source code available (if possible for linux or other Unices) :?:

Hi jaiguru:

That idea has been in my head for months :lol:
Because I am a developer ( on Unix systems ), I've been looking at different sources, trying to find the correct starting point. I've been looking at the source for the standard Test model 5 ( aka TM5 ) at www.mpeg.org. I've also looked at DVDx's source. Too much spagetti code there, and very badly documented. But it's a good starting point, maybe by removing a lot of unnecessary code. So take a look at mpeg.org or the DVDx sources. One thing I have in my mind is "The KVCD encoder" :lol:

I'll keep studying the code. Maybe some day the dream will come true :wink: still have a long way to go, because even though I program mostly in "C", my experience is in Unix based systems. Not on Windows systems. So I have some learning to do. Maybe Borland Builder. I hate VC++ ( and MSCraps ) 8) :lol:

kwag

Rookie 06-27-2002 03:25 AM

Developing under Windows when you can under Unix? *gulp*
Why not start with an Unix command line tool. Its easily portable and imho you can easily add an click-o-rama frontend for all kinds of operating systems afterwards.

jaiguru 06-27-2002 03:33 AM

Hi Kwag and thanxs for you good job (I tried some equivalent settings on TMPGEnc last year but my time isn't extensible and I stopped... until recently :) )

I'm also a Unix programmer (a Unix system administrator in fact) and If I can give you one tips : try cygwin (http://www.cygwin.com). With this lib (and enviromnent) I'm almost sure we can recompile a Unix MPEG encoder on windows withouts efforts.

About the original encoder : I search (and try a little) and I think that mpeg2enc from mjpegtools is a good starting point (good mpeg quality, good sources...): have you ever try it ?

kwag 06-27-2002 05:09 AM

@rookie and jaiguru:

I love Unix. Specially FreeBSD, NetBSD, and ( it's cousin 8) ) Linux.
The problem I see with starting an encoder project in U*ix, is the lack of OS hooks and utilities. For example, there's no SmartRipper, DVDDecrypter, AviSynth, DVD2AVI, FitCD, Vdub( for frame serving, etc. ). These are key tools and utilities that are essential to mpeg projects. So in U*ix world, there's very little we can do. I'm aware of one excelent encoder, broadcast2000 I believe it's called, but it can't even read avi files and I think it's discontinued. So for all my servers and firewalls, U*ix is what I use. But for desktop apps and wide user acceptance, it's sad, but it has to be WindooOoOoze :roll:

@jaiguru:
I'm currently experimenting with Bloodshed C++ http://www.bloodshed.net/dev/index.html
Take a look, and tell me what you think.

It uses the MingW32 compiler based on GCC, so I'm familiar with the compiler.

kwag

Rookie 06-27-2002 05:44 AM

Sure there are! I did several projects purely under Linux. with DVD2AVI and TMPGEnc emulated under wine. I ripped the stream with dvdrip (http://www.exit1.org/dvdrip/).
DVD2AVI, avisynth, Fitcd anf VirtualDub are OpenSource projects.
It would be really cool to integrate all necessary functions from this tools into one programm.

Latexxx 06-27-2002 07:05 AM

Maybe bbmpeg( http://members.cox.net/beyeler/bbmpeg.html ) would do the job. Normally it is used as muxer for svcd, but it also includes encoder. It is also gpl'ed. It is almost as good quality( http://www.tangentsoft.net/video/mpe...ws/bbmpeg.html ) than tmpenc. The only problem is that is is quite slooooowww....

kwag 06-27-2002 01:03 PM

We'll, maybe in a ( not too distant ) future, all our favorite app will run under Linux. I already tried TMPEG under Lindows. It runs!. I haven't tried DVD2AVI or AviSynth yet. What I would do, is start off with a functional command line encoder. Worry about correct functionality and quality, and then put a gui on it. It would be easier to debug and optimize.
So, we'll see. The most difficult parts of the encoder will be making the CQ_VBR encoding stuff. But I would concentrate on CBR for the first PREPREPREPRE ALPHA!. Too many options. But I believe in the KISS principle :wink: There's one I'm also looking into, which is AVI2MPG1. It's a very simple encoder, also based on MSSG http://www.mnsi.net/~jschlic1/

kwag

jaiguru 06-27-2002 03:00 PM

Quote:

Originally Posted by kwag
The most difficult parts of the encoder will be making the CQ_VBR encoding stuff. But I would concentrate on CBR for the first PREPREPREPRE ALPHA!.

mpeg2enc from the mjpegtools project allready has a CQ_VBR mode :D
That's why it's seems interressant to me.

Rookie 06-27-2002 05:10 PM

Quote:

Originally Posted by kwag
We'll, maybe in a ( not too distant ) future, all our favorite app will run under Linux. I already tried TMPEG under Lindows. It runs!. I haven't tried DVD2AVI or AviSynth yet.

Unfortunately avisynth crashes TMPGEnc after some time. I didnt had time to verify if that is wine specific or also happening under the vmware WIndows98 install(Win XP on my other box is far to bloated for that purpose) I use to create my wine enviroments. DVD2AVI works fine.

kwag 06-27-2002 06:56 PM

Quote:

Originally Posted by jaiguru
Quote:

Originally Posted by kwag
The most difficult parts of the encoder will be making the CQ_VBR encoding stuff. But I would concentrate on CBR for the first PREPREPREPRE ALPHA!.

mpeg2enc from the mjpegtools project allready has a CQ_VBR mode :D
That's why it's seems interressant to me.

That I didn't know :lol:
I'll take a look.

kwag

bman 06-28-2002 01:26 AM

Hi KWAG , All !!!!
Cool , cool idea !!!!
I'm not a pro(AS MANY of members of this forum) or computer guy of any kind but for hobby I like to do some programming .
I thougth abouth this too, even to do it my self but it's probably to much for me . So I'll live it to u , to pro's .
New all in one ecoder like DVDx with all options like TMPGenc will be really cool BUT , BUT....
Plaese , and once more please IF u are developing allready this kind of encoder don't build it based on linux or unix !!! :(
This limitation(as KWAG mentioned ) will prevent from many of us - AN ORDINAL WINDOWS customers to use it and I'm sure u don't intend to do so . :wink:
THX 8)
bman

GFR 06-28-2002 06:41 AM

You could code the processing in C, as a command line tool or as a shared library. Then use Kylix for the bells and whistles :). (You could code everything in Kylix, but maybe C is faster and you can use code and expertise that is already available).

If you stick to "standart" C and Kylix CLX components, it would be simple (trivial) to rebuild it to run under Windows with any C compiler and Delphi 6.

kwag 06-28-2002 11:58 AM

Hi GFR:

It would definitively be written in standard ANSI C. The samples from MPEG.org are in C, and almost every encoder made is also written in C. And that's what I also know best 8) . But your point on the command line issue is correct. It's better to get a working command line model, and then wrap it up with whatever GUI :lol:

kwag

jaiguru 06-28-2002 12:02 PM

I've found some info. on the net of persons who have successfully build mpeg2enc (from mjpegtools) using cygwin.

For some of you who doesn't know, cygwin is a dll which permits us to compile almost any source code, indended for Unix, on Windows. It's distributed with a full set of common unix utilites (shell, compilers, ...) but once compiled, an exe only needs the cygwin DLL.

So, source code from unix is probably usable on windows :)
And a GUI is simple to build (eg. using TCL/Tk)

japie 07-10-2003 12:03 PM

Re: Creation of a new encoder...
 
Quote:

Originally Posted by jaiguru
So, I wanna know if some of you have ever find a good (near TMPGEnc) MPEG encoder with source code available (if possible for linux or other Unices) :?:

The latest releases off ffmpeg are very good, nice quality and 4x faster than tmpgenc.
opensource 4 win/mac/*nix

kwag 07-10-2003 12:42 PM

Hey japie,

Give me a link :!:
I didn't know that ffmpeg was already ported to WIN. I thought it would only run on Linux and Unix. I've tested the ffmpegX on Mac OS X, but wasn't aware of a WIN version :D

-kwag

jorel 07-10-2003 01:05 PM

http://www.mpegx.com/view.php?detail=312

http://ffmpeg.sourceforge.net/

ps:
"(Jun 9, 2003) FFMPEG 0.4.6 is now officially obsolete"
8O :?

Please use a CVS snapshot as it is now stable
and has lots of new features.
http://ffmpeg.sourceforge.net/cvs/ff...3-07-10.tar.gz


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

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.