[mythtv] Why nuppelvideo mpeg4?

Reza Naima reza at reza.net
Mon Aug 8 16:19:52 EDT 2005


On Mon, Aug 08, 2005 at 08:40:57PM +0200, Torbjörn Jansson sent me this...
> mythtv-dev-bounces at mythtv.org <> wrote:
> > I was wondering why we are using the nuppelvideo container
> > for mpeg4? It
> > can't be hard to convert to a different format - nuv2avi works great.
> > Why is it that we're not using avi's (for example) rather
> > than nuv's to store the files? 
> 
> Because the avi file format does not have timestamps, it asumes a fixed
> frame rate.
> And avi files are not designed to be streamed (atleast not in the same way
> as nuv).

Is there another file format that does, and is more useable/friendly?  

> 
> > mplayer (used by xbmc) has a lot of issues with the
> > .nuv files, and unless you have the special codecs installed
> > on windows
> > .nuv mpeg4 files will not play.
> > 
> 
> mplayers problem and not mythtvs.

There are two ways of looking at this problem.  You could modify mplayer
to work better, or modify mythtv to produce more compatible output.  As
it seems that you have to install specially patched versions of various
programs on almost all platforms to play the .nuv files, it would seem
reasonable to want to try to produce more standard output files.  But
I've never dealt with the inner workings of video file formats so I'm
not sure how it all works.  

Why is it that mythtv works fine with mepg2 output of pvr's?  Why can't
it work just as well with the standard mpeg4 file?
 
> > How hard would it be (and are there any reasons no to) modify the code
> > such that it will generate more friendly mpeg4 files?
> 
> Hard.

Well, the mpeg4 is a result of transcoding from mpeg2 (in my case).
nuv2avi works fine at convering the nuv mpeg4 to an avi mpeg4.  if avi
isn't a good container, how about modifying the code in nuv2avi to generate
a more standard mpeg4 file that's more condusive to streaming?

> 
> > p.s. what is all the seek information in the DB for?  why isn't that
> > in the video file itself? 
> > 
> 
> Because the file may not have finished recording and it might be mpeg2

I'm confused.  So the seek information is only added _after_ the show is
recorded?  It can't be added in real-time?  How about a transcode
function where it is then added to the file and removed from the
database?


I don't want to seem like I'm just bugging people for more functionality
-- I have no problems doing the coding myself, but I want to understand
the reasons certain decisions were made, and to see if it's at all
feasable to make these changes.

My personal goals are to :
	- remove the DB dependance for generated files
	- use mpeg4 for high compression reasons
	- remove the need to transcode/convert the mpeg4 to another
	  format if i want to move it to another device for playback
		(mostly for archival purposes)

Thxn,
reza



More information about the mythtv-dev mailing list