how to convert mythtv .nuv (NuppelVideo) file to other video / audio format
---------------------------------------------------------------------------
[terrence@intruder mythtv]$ pwd
/var/lib/mythtv
[terrence@intruder mythtv]$ mplayer 1026_20050321210000_20050321213000.nuv
you will get output like:
Playing 1026_20050321210000_20050321213000.nuv.
MPEG-PES file format detected.
VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 6000.0 kbps (750.0 kbyte/s)
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 24000->192000 (192.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
...
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian)
alsa-init: got device=0, subdevice=0
alsa-init: 1 soundcard found, using: default
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
Starting playback...
VDec: vo config request - 720 x 576 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 720x576 => 1024x576 Planar YV12
mythtv use a tweaked version NuppelVideo format
mencoder is in MPlayer.
[terrence@intruder mythtv]$ mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vstrict=1:vhq:keyint=0:vbitrate=750 -vf scale=1024:576,lavcdeint -endpos 1500 -ffourcc DX50 -o "/tmp/South Park 701 - I'm a little bit Country.avi" 1026_20050321210000_20050321213000.nuv
-oac <codec name>
Encode with the given audio codec. Use -oac help to get a list
of available codecs. (no default set)
EXAMPLE:
-oac copy
no encoding, just streamcopy
-oac pcm
encode to uncompressed PCM
-oac mp3lame
encode to MP3 (using Lame)
-oac lavc
encode with a libavcodec codec
-ovc <codec name>
Encode with the given video codec. Use -ovc help to get a list
of available codecs. (no default set)
EXAMPLE:
-ovc copy
no encoding, just streamcopy
-ovc divx4
encode to DivX4/DivX5
-ovc raw
encode to arbitrary uncompressed format (use -vf format
to select)
-ovc lavc
encode with a libavcodec codecs
vcodec=<value>
use the specified codec (default: mpeg4):
mjpeg
Motion JPEG
ljpeg
Lossless JPEG
h263
H263
h263p
H263 Plus
mpeg4
DivX 4/5
msmpeg4
DivX 3
msmpeg4v2
MS MPEG4v2
wmv1 Windows Media Video, version 1 (aka WMV7)
wmv2 Windows Media Video, version 2 (aka WMV8)
rv10 an old RealVideo codec
mpeg1video
MPEG1 video
mpeg2video
MPEG2 video
huffyuv
HuffYUV
asv1 ASUS Video v1
asv2 ASUS Video v2
ffv1 FFmpegâs lossless video codec
mbd=<0-2>
Macroblock decision algorithm (high quality mode), encode each
macro block in all modes and choose the best. This is slow but
results in better quality and file size.
0 use mbcmp (default)
1 select the MB mode which needs the fewest bits (=vhq)
2 select the MB mode which has the best rate distortion
vhq Same as mbd=1, kept for compatibility reasons.
keyint=<0-300>
maximum interval between keyframes in frames. Keyframes are
needed for seeking as seeking is only possible to a keyframe
but keyframes need more space than other frames so larger num-
bers here mean slightly smaller files, but less precise seek-
ing, 0 means no key frames. Values >300 are not recommended as
the quality might be bad depending upon decoder, encoder and
luck. For a strict MPEG1/2/4 compliance this would have to be
<=132. (default: 250 or one key frame every ten seconds in a
25fps movie)
vbitrate=<value>
specify bitrate (pass 1/2). Warning: 1kBit = 1000 Bits.
4-16000
(in kbit)
16001-24000000
(in bit)
800 d
-vf <filter1[=parameters],filter2,...>
Setup a chain of video filters.
scale[=w:h[:interlaced[:chr_drop[:param[:presize]]]]]
Scales the image with the software scaler (slow) and performs a
YUV<->RGB colorspace conversion (also see -sws option).
w,h
scaled width/height (default: original width/height)
NOTE: If -zoom is used, and underlying filters (includ-
ing libvo) are incapable of scaling, it defaults to
d_width/d_height!
0: scaled d_width/d_height
-1: original width/height
-2: Calculate w/h using the other dimension and
the prescaled aspect ratio.
-3: Calculate w/h using the other dimension and
the original aspect ratio.
lavcdeint
Use libavcodecâs deinterlace filter.
-endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (see -ss and -sb option too)
Stop encoding at given time or byte position. Can be specified
in many ways:
NOTE: Byte position wonât be accurate, as it can only stop at a
frame boundary.
EXAMPLE:
-endpos 56
encode only 56 seconds
-endpos 01:10:00
encode only 1 hour 10 minutes
-endpos 100mb
encode only 100 MBytes
-ss <time> (see -sb option too)
Seek to given time position.
EXAMPLE:
-ss 56
seeks to 56 seconds
-ss 01:10:00
seeks to 1 hour 10 min
-ffourcc <fourcc>
Can be used to override the video fourcc of the output file.
EXAMPLE:
-ffourcc div3
will have the output file contain âdiv3â as video four-
cc.
-ffourcc DX50
the video to play on some (most?) media players. The
reason is that although the video produced is an MPEG4,
its header uses the code FMP4 which is not widely
recognised. A header with DX50 claims that the video is
DivX 5 (hence MPEG4) compatible and should therefore
play on any media player that can play MPEG4 video.
-ofps <fps>
The output file will have different frame/sec than the source.
You MUST set it for variable fps (asf, some mov) and progres-
sive (29.97fps telecined mpeg) files.
Reference
=========
+ HOWTO Mencoder Introduction Guide - <http://gentoo-wiki.com/HOWTO_Mencoder_Introduction_Guide>
+ MythTV Archiving Stuff to DVD - <http://www.mythtv.info/moin.cgi/ArchiveRecordingsToDvdHowTo>
+ MythMkMovie - <http://www.icelus.org/mythmkmovie.php>
|