LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1576|回复: 16

大家有压缩过视频吗?一般使用什么编码器?

[复制链接]
发表于 2010-12-1 22:25:51 | 显示全部楼层 |阅读模式
我尝试过x264+faac和theora+vorbis,都是使用ffmpeg利用外部编码器,如libx264和libtheora压缩的,测试的是用1080p的mov文件(看属性还是h264+faac)压缩成720p的mp4和ogv。

虽然我个人比较倾向于后者,不过遇到一些问题实在是无法忍受。

主要是theora压缩成ogv后,mplayer一快进就影音不同步了,声音快了非常多,这在别的格式都是没有出现过的。基于gstreamer的totem也有类似问题

使用ffmpeg2theora压缩,定义-K也就是关键帧间隔为更小的,比如8,可以让totem快进正常一点,否则直接使用ffmpeg压缩的,在多次快进后退后就不在播放了。mplayer没有改善。也不知道这是不是播放器支持不完善,mplayer对ogg支持就不好,如果ogg内嵌图片大于40k就不能播放,其他播放器都可以。

有谁研究过吗?大概看了一下电脑里面的mv和电影片段,几乎全部都是h264的。

================update============

我升级和重新编译了一下libogg, libvorbis, libtheora, ffmpeg-mt和mplayer-mt,mplayer中快进后退的问题稍微好了一点,至少影音不会不同步了,只是会出现整屏马赛克,然后1s左右恢复。totem里面没有这种情况。

我的mplayer-mt编译的使用外置ffmpeg-mt,而mplayer-mt源里面剔除了mencoder,没有办法使用mencoder。而且ffmpeg也不是特别难使用。
发表于 2010-12-1 23:04:04 | 显示全部楼层
mencoder易上手,内置x264编码器。theora压缩比比不上h264,现在h264是最好选择。音频AAC很好。
回复 支持 反对

使用道具 举报

发表于 2010-12-1 23:31:23 | 显示全部楼层
没压过 但是比较喜欢视频h265(avc) 音频aac (甚至flac) 容器格式mkv

google开源的那个行视频压缩格式的压缩率貌似比h265(avc) 还高,就是色彩饱和度不如h265(avc)
回复 支持 反对

使用道具 举报

发表于 2010-12-1 23:34:24 | 显示全部楼层
我最常用x264+NeroAAC+MP4Box/mkvmerge,Theora老是遇到各种问题就不用了
回复 支持 反对

使用道具 举报

发表于 2010-12-2 00:26:27 | 显示全部楼层
刚刚试了ffmpeg +x264(重编译启用lavf) 转换400mb的avi 使用默认方式好好慢呀~~~~~~

谁有压片脚本发上来吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-2 02:05:39 | 显示全部楼层
音频貌似OGG和AAC很有的一拼,但是视频就Theora还是比不上H264,我自己测试了一下,将mov格式1080p的《盗梦空间》预览片段截取30s,大小为720p的raw格式视频和pcm音频,然后使用ffmpeg分别编码libx264和libtheora,比特率都是3m,编码出来两个文件都差不多大,都是10m左右。

计算编码时间和mplayer解码测试,然后对比画质。

结论是h264画质比theora好,细节明显h264保留的多。屋顶纹理只有h264里面看的清楚。但是编码时间x264花了6分10s,theora只需要1分32s。mplayer解码测试mp4文件花了10.36s,而theora只花了5.7s。不知道还能不能优化一下。
mplayer测试解码性能:
  1. mplayer test.mp4 -nosound -vo null -benchmark -endpos 60 -lavdopts skiploopfilter=all
复制代码

源里面的x264还要开启lavf?这样能更提升画质吗?就是因为x264和aac编码器太多了,难选。公认nero老版本aac编码器质量好,linux下也有?x264编码确实太慢了。
回复 支持 反对

使用道具 举报

发表于 2010-12-2 07:13:52 | 显示全部楼层
  1. -vf scale=1280:-3,harddup -sws 9 -ovc x264 -ffourCC H264 -x264encopts bitrate=2500:level=4.1:frameref=5:bframes=0:deblock=-2,-1:analyse=all:trellis=0:partitions=all:8x8dct:b_pyramid:brdo:weight_b:bime:mixed_refs:me=hex:subq=6:threads=2:pass=1:turbo=1 -oac faac -faacopts mpeg=4:br=384:object=2 -srate 48000 -channels 2 -of lavf
复制代码

曾经看过yyets的参数,对照着写了上面的压制参数,不过没有试,本子太差劲

上面只是1pass的结果,现在市面上的x264 faac均是通过2pass压制
小广告下:偶与朋友的PT站,招720P 1280P压制人员,有兴趣的联系哈
回复 支持 反对

使用道具 举报

发表于 2010-12-2 09:43:34 | 显示全部楼层
偶本子上用不到faac
so,mp3足够

  1. mencoder old.avi -vf scale=480:-3,harddup -sws 9 -ovc x264 -ffourCC H264 -x264encopts bitrate=2500:level=4.1:frameref=5:bframes=0:deblock=-2,-2:analyse=all:trellis=0:partitions=all:8x8dct:weight_b:mixed_refs:me=hex:subq=6:threads=2:pass=1:turbo=1 -oac mp3lame -lameopts vol=0:mode=0:cbr:br=64 -o new.avi
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-12-2 09:58:21 | 显示全部楼层
Post by jarryson;2121807

源里面的x264还要开启lavf?这样能更提升画质吗?就是因为x264和aac编码器太多了,难选。公认nero老版本aac编码器质量好,linux下也有?x264编码确实太慢了。


没开启lavf的话需要对输入文件进行预处理的 x264编码的速度真是慢到一塌糊涂 难道我的本本真的该淘汰了吗:yun:
回复 支持 反对

使用道具 举报

发表于 2010-12-2 10:24:16 | 显示全部楼层
慢,那很正常,用极限参数的话,如果CPU一般,更加会慢到无法忍受
so,压制组成员基本是专门空出台机子专门压制的....
不过参数适当调整下速度也不会太慢,譬如bitrate 如果直接DV拍摄后转码的话,直接1PASS 480P即可,只要机子不是太差,压制一部时间也不过就是播放该部片源所用时间而已
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表