Skip to main content

Encoding avi to mpg with mencoder

I just finish downloading japanese series from bittorrent, Nodame Cantabile. 12 avi files are now on my disk. I need to covert it to mpg before burn to vcd. After searching, look like mencoder is a good choice do this job. let try.
pnix@pnix-a7n:~$ sudo aptitude install mencoder
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Building tag database... Done
The following NEW packages will be installed:
mencoder
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 3557kB of archives. After unpacking 8946kB will be used.
Writing extended state information... Done
Get:1 http://security.ubuntu.com feisty-security/multiverse mencoder 2:1.0~rc1-0ubuntu9.1 [3557kB]
Fetched 3557kB in 4m54s (12.1kB/s)
Selecting previously deselected package mencoder.
(Reading database ... 113732 files and directories currently installed.)
Unpacking mencoder (from .../mencoder_2%3a1.0~rc1-0ubuntu9.1_i386.deb) ...
Setting up mencoder (1.0~rc1-0ubuntu9.1) ...
pnix@pnix-a7n:~$

I'm not an expert in video editing, anyway thanks for document from mplayerhq that give me a very very long command.
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:196,expand=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts     vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 -o n01.mpg N*01.avi

scaling:
meaning of many option are mostly standard for 'NTSC VCD' format except scaling option that depend on original file resolution. 352x240 is resolution of NTSC VCD but my original avi res. is 688x384 so it need to scale and add black border to meet requirement. In my 'scale=352:196' 196 is came from 352x384/688.

first trying i got many error like this
mpg123: Can't rewind stream by 17 bits!:   0min   0mb  A-V:0.030 [0:0]
mpg123: Can't rewind stream by 36 bits!: 0min 0mb A-V:0.039 [0:0]
mpg123: Can't rewind stream by 18 bits!: 0min 0mb A-V:0.046 [0:0]
mpg123: Can't rewind stream by 22 bits!: 0min 0mb A-V:0.049 [0:0]
mpg123: Can't rewind stream by 12 bits!: 0min 0mb A-V:0.052 [0:0]

the trick is i need to add '-ac mad' to specify decoder in that command and here is the result.

Comments

Anonymous said…
Working with video in Linux can be so frustrating. Thanks for the tutorial! Have you checked out Winki The Ripper? It's a great video encoder that I use frequently, along with Avidemux.
pnix said…
thanks, Nathan avidemux is a great apps. At first i thinks it only available on windows.
roger said…
How to convert mpg to avi using mencoder?
mpg in mov mac said…
Hi, pnix, you mean it also works on mac os? i am going try it.
The first time to try mencoder, it seem a great app. thank you for share

Popular posts from this blog

Fixing sendmail take a long time to start

I notice that my database box[FC6+Oracle10.2] take along time to startup. Sendmail and sm-client very very slow to start[ about 5 minutes ]. There's something wrong in /etc/hosts file. 'newalises' command take long time to update and finish with error below. [root@ora10g ~]# newaliases WARNING: local host name (ora10g) is not qualified; see cf/README: WHO AM I? /etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.55 ora10g [root@ora10g ~]# To fix this, custom hostname[ora10g] need to append to localhost line in /etc/hosts. [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ora10g 192.168.1.55 ora10g [root@ora10g ~]# newaliases /etc/alia

Too many open files

Last week tomcat log file report many error about "Too many open files" when it has high traffic. Some in catalina_log say 2007-04-07 16:13:40 HttpProcessor[80][272] Starting background thread 2007-04-07 16:13:40 HttpConnector[80] accept: java.net.SocketException: Too many open files and here is from localhost_log 2007-04-07 16:13:40 StandardWrapperValve[myservlet]: Servlet.service() for servlet myservlet threw exception java.io.FileNotFoundException: /home/log/mylog_070407.log (Too many open files) This is because too many file descriptors're opened by tomcat. File descriptor can be limited in both system level and shell level. To check maximum number of fd in system type 'cat /proc/sys/fs/file-max'. In my case it is 65536(someone said it should set to 200000). Tomcat error when try to open socket number 272 so I think 65536 is ok for me for now. Anyway if u want to set it add 'fs.file-max = 200000' to /etc/sysctl.conf pnix@pnix-a7:~$ cat /proc/sys/fs/fil

using Class.getResource() load resource file in Eclipse

There are many ways to load resource file in java app. What sun recommended is using Class.getResource(" resource_name ") or Class.getResourceAsStream(" resource_name ") then you will get URL and InputStream respectively. If resource_name is specified without "/", it will be prepend with Class package. So resource file must be in same place[folder structure] as the Class. What I love to do is call getResource() with "/" and put resource file at the root of package. This way i can have separate resource folder. below is in Eclipse, 1. From Package explorer right click src folder->click import 2. In import dialog, Choose General->File System ->next 3. from directory:->Browse to your resource folder. 4. to folder:-> I add "resource" as a folder name under src folder. then click "Finish". In the code, load resource with this.getClass().getResource("/resource/buttons1.png") or this.getClass().getResourceAs