mencoder 压缩字幕方法 及其它资料

Totem,mplayer,sopcast,realplayer,bmp
回复
kelvinhan
帖子: 173
注册时间: 2006-11-30 1:29

mencoder 压缩字幕方法 及其它资料

#1

帖子 kelvinhan » 2007-05-21 23:33

mencoder -font /home/administrator/.fonts/simhei.ttf -sub /media/sda4/ceshi1.srt -unicode -subcp GB18030 -vf scale=320:-3 -ofps 18 -srate 22050 -oac mp3lame -lameopts mode=0:cbr:br=32 -ovc xvid -xvidencopts bitrate=250 /media/sda4/ceshi1.avi -o test.avi

-font:指定字体
-sub:字幕文件
-subcp:字幕文件编码(一般在WINDOWS平台下的中文文件都是GB18030)
-srate:音频编码
-o:输出文件名

---------------------------------
下面转载一个更详细的说明:
制作适合在智能手机和PDA上观看的mpeg4视频。
Linux上有一个很强大的视频音频转换软件,就是Mplayer自带的mencoder (MPlayer's Movie Encoder)。mencoder就象是一台全手动的照相机,可调整的选项非常多,不过这儿只是把最常见的情况说一下。

转换avi文件,并把字幕内嵌到视频中。首先假设一下下列的条件:
文件名:video.avi
字幕文件名:video.srt
目标文件:new.avi
目标文件格式:mpeg4
目标文件视频码率:200
目标文件音频码率:64
目标文件分辨率: 320:240
制作内嵌字幕所需的字体:simsun.ttf
(上面各项都可以根据实际情况进行调整)
转换命令如下:

mencoder -oac mp3lame -lameopts vbr=3:br=64 -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=200 -sub video.srt -o new.avi -font simsun.ttf video.avi -subcp cp936 -subfont-text-scale 4 -vf scale=320:240
各选项的含义:
-oac 编码文件的音频部分。这儿是用lame将音频encode成mp3,即mp3lame。其他可用的选项可以调用mencoder的man page查看。
-lameopts 顾名思义,即lame选项,这儿只需定义一下码率就可以了。
vbr 设定音频码率的方法,格式为vbr=<0-4>

0 cbr average bitrate
1 mt
2 rh constant bitrate Also forces CBR mode encoding on subsequent ABR presets modes.
3 abr
4 mtrh

在这儿用的是3,abr。
br 就是设定我们所需要的码率值,格式为br=<0-1024>,只能在vbr为0和3的情况下才能使用该选项。
-ovc 编码文件的视频部分。主要有以下几个选项

-ovc copy
不进行编码,只是复制视频流
-ovc divx4
编码成DivX4/DivX5
-ovc raw
编码成任意不压缩的格式(用‘-vf format’设定具体的格式)
-ovc lavc
使用libavcodec进行编码

-lavcopts 就是libavcodec的选项。
vcodec=使用指定的视频编码,下面列一下几个主要的值

h264:H.264
h263:H.263
h263p:H.263+
mpeg4:MPEG-4 (DivX 4/5)
msmpeg4:DivX 3
msmpeg4v2:MS MPEG4v2
wmv1:Windows Media Video, version 1 (又称 WMV7)
wmv2:Windows Media Video, version 2 (又称 WMV8)
rv10:旧的RealVideo格式
mpeg1video:MPEG-1 video
mpeg2video:MPEG-2 video

mbd 决定视频宏块的算法,这儿只需要mbd=1即可。其余的可以查看man page。
vbitrate 设定视频的码率(默认为800)。
-sub 设定字幕文件
-o 目标视频文件
-font 制作内嵌字幕所需字体的路径
-subcp 字幕的编码,简体中文就是cp936
-subfont-text-scale 字幕字体的大小
-vf scale 视频的分辨率
如果不需要将字幕内嵌入视频文件,只需要去掉-sub、-font、-subcp、-subfont-text-scale这几个选项。将rmvb转换成mpeg4也是如此。

发表者 超越无限
上次由 kelvinhan 在 2007-05-21 23:58,总共编辑 2 次。
kelvinhan
帖子: 173
注册时间: 2006-11-30 1:29

压缩成WMV

#2

帖子 kelvinhan » 2007-05-21 23:40

mencoder -font /home/administrator/.fonts/simhei.ttf -sub /media/sda4/ceshi1.srt -unicode -subcp GB18030 -vf scale=320:-3 -ofps 18 -srate 22050 -oac mp3lame -lameopts mode=0:cbr:br=32 -ovc lavc -lavcopts vcodec=wmv2 /media/sda4/ceshi1.avi -o test.wmv
kelvinhan
帖子: 173
注册时间: 2006-11-30 1:29

压缩成RM

#3

帖子 kelvinhan » 2007-05-21 23:44

mencoder -font /home/administrator/.fonts/simhei.ttf -sub /media/sda4/ceshi1.srt -unicode -subcp GB18030 -vf scale=320:-3 -ofps 18 -srate 22050 -oac mp3lame -lameopts mode=0:cbr:br=32 -ovc lavc -lavcopts vcodec=rv10 /media/sda4/ceshi1.avi -o test.rm
kelvinhan
帖子: 173
注册时间: 2006-11-30 1:29

#4

帖子 kelvinhan » 2007-05-21 23:53

http://www.mplayerhq.hu/DOCS/HTML/zh_CN/index.html

详细的使用说明,部分已汉化
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#5

帖子 eexpress » 2007-05-22 10:47

又有人玩字幕了。 :lol:
● 鸣学
freehost
帖子: 23
注册时间: 2007-06-26 23:02

#6

帖子 freehost » 2007-07-29 23:25

-oac mp3lame -lameopts mode=0:cbr:br=32
楼主请问:为什么我的mp3lame不能用?
错误信息:
mpg123: Can't rewind stream by 75 bits!
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#7

帖子 skyx » 2007-07-29 23:26

mencoder命令最简单的方法是找个前端,该选的都选上,然后再把生成的命令copy出来。
no security measure is worth anything if an attacker has physical access to the machine
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#8

帖子 eexpress » 2007-07-30 9:24

-unicode -subcp GB18030
放一起别扭。不如先enconv *.srt
● 鸣学
头像
内存不足
论坛版主
帖子: 3277
注册时间: 2005-08-18 18:43
联系:

#9

帖子 内存不足 » 2007-07-30 9:35

ee魔障了
໌→ iCookie Gtk Theme
໌→DropPlusBluetheme
กรัก กรัก`菠萝
雨过天青
帖子: 14
注册时间: 2008-02-02 12:26

#10

帖子 雨过天青 » 2008-02-15 13:28

试一试这个东西,有点意思的,比较适合我怎样的半桶水了。
http://f0rked.com/projects/simplerip
回复