Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Sep 2003 20:13:41 +0200
From:      Steve O'Hara-Smith <steve@sohara.org>
To:        sugiura@kt.rim.or.jp (Sugiura Shiro)
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: How to make high quality MPEG4 video
Message-ID:  <20030901201341.1e6ff86d.steve@sohara.org>
In-Reply-To: <200309011352.WAA07523@mail5.rim.or.jp>
References:  <200309011352.WAA07523@mail5.rim.or.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 1 Sep 2003 22:52:57 +0900 (JST)
sugiura@kt.rim.or.jp (Sugiura Shiro) wrote:

SS> I want to record and encode high quality video(MPEG4/DivX)
SS> 640x480@29.97fps from TV using bt878 chip(PVR951). I tried to use
SS> ffmpeg0.4.6, 0.4.7 and mencoder , but not so good.

	With that 2.8GHZ P4 you should be able to go direct. I can quite
easily record PAL 720x576@25fps in mpeg4 or mpeg1 on my AMD XP2000 in
realtime with ffmpeg alone running like this:

ffmpeg -s 768x576 -tvstd pal -vcodec mpeg4 -b 2000 -acodec mp3 -ac 2 \
  -ab 128 -f avi -t $DURATION -y $NAME.avi

	It uses about 60% CPU on average, adding -hq pushes it to
a bit over 70%. I have never noticed any effect from the deinterlace
flag so I tend not to bother with it. To my eye the result of these
settings is a little blurry so generally I use something more like this:

ffmpeg -s 768x576 -tvstd pal -vcodec mpeg1video -b 6400 -acodec mp2 \
  -ac 2 -ab 160 -f mpeg -t $DURATION -y $NAME.avi

	IME high bandwidth mpeg1 is nicer than high bandwidth mpeg4
but it reverses at low bandwidth.

SS> Step1: record rawvideo 
SS> % ffmpeg -r 29.97 -s 640x480 -ac 2 -ar 48000 -ab 256 -acodec mp3
SS> -vcodec \
SS>   rawvideo -tvstd ntsc -deinterlace raw.avi
SS> 
SS> I sometimes found "SLEPT NO signals - xxxxx microseconds late" error .

	Don't worry, it's not an error, it's a warning that there was no
frame sync detected by the time the timer expired and so you may get a
slightly messy frame in the sequence. One day I'll take these messages
out, when I'm sure I've finished fiddling with that bit (I think I have).

SS> Step2-1: mpeg4 encode by mencoder(very quick , but not so good)
SS> % mencoder raw.avi  -oac copy -ovc lavc  -ofps 29.97 lavc=2000:29.97 \
SS>   -lavcopts vcodec=mpeg4:vqscale=31:vme=5:vhq:vbitrate=2000 -o tv.mpg
_____________________________^^^^^^^^^^

	The indicated bit fixes the quality at very very low, remove it
for better results and longer processing.

SS> Step2-2: mpeg4 encode by ffmpeg(strange out put)
SS> % ffmpeg -i raw.avi -vcodec mpeg4 -r 29.97 -me full -re -b 2000
SS> -acodec \
SS>   copy -deinterlace tv.avi

	Strange how ?

-- 
C:>WIN                                      |     Directable Mirrors
The computer obeys and wins.                |A Better Way To Focus The Sun
You lose and Bill collects.                 |  licenses available - see:
                                            |   http://www.sohara.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030901201341.1e6ff86d.steve>