分页: 1 / 1

在想办法解决rmvb到ogv的影音同步问题找到比较另类的处理方式

发表于 : 2009-07-29 16:53
oneleaf
问题:
ffmpeg2theora --optimize --deinterlace a.rmvb 后会出现声音往前缩的问题,原因在于 rmvb 中的重复帧导致声音的时间线计算错误的缘故,目前无修正办法。

如果使用 ffmpeg2theora --optimize --deinterlace --sync a.rmvb 后声音会正常,但没有补上空白的重复帧导致图像变得卡,也没有办法修正。

虽然 oggconvert 没有这个问题,但又不支持命令行和批处理,必须鼠标一个一个操作。

无直接解决办法。

mkfifo /tmp/pipe
mencoder -vf harddup -ovc raw -oac pcm -o /tmp/pipe a.rmvb

ffmpeg2theora --optimize --deinterlace /tmp/pipe -o a.ogv

这样就可以解决影音同步的问题了,利用了 pipe ,使用 mencoder 的 -vf harddup 参数补全帧,再交给 ffmpeg2theora 去压缩。

代码: 全选

#!/bin/bash
pipe=/tmp/rmvb_pipe
mkfifo $pipe
for i in *.rmvb; do
    mencoder -vf harddup -ovc raw -oac pcm -o $pipe "$i" &
    ffmpeg2theora --optimize --deinterlace $pipe -o "`echo $i | sed -e 's/rmvb$/ogv/'`"
done
rm $pipe

Re: 在想办法解决rmvb到ogv的影音同步问题找到比较另类的处理方式

发表于 : 2009-07-29 17:06
wangdu2002
直接顶。 :em11

Re: 在想办法解决rmvb到ogv的影音同步问题找到比较另类的处理方式

发表于 : 2009-07-29 17:57
懒蜗牛Gentoo
不错,回去试试去