rmfix 和 rma 都有这个功能.
参见 rma 的一断说明
------------------------------
[5.2] Synchronize video and audio in a realmedia file?
同步 rm 文件的视频和音频?
First, split file into separate video/audio streams:
第一, 把文件分成割成视频和音频两部分.用下面的命令
rma -s broken.rm
也可以用 rma -sp/G:\Fix\RMFIX/ broken.rm G:\Fix\RMFIX 是输出文件的存放位置,要用间格符 / 围起来,broken.rm 是要同步的 rm 文件.
You will get two files: broken.000 and broken.001.
Now try to play with a video/audio relative time shift. E. g., set audio
skew to 500 milliseconds (0.5 sec):
你将得到两个文件:broken.000 和 broken.001,broken.000 是 rm 的音频文件,broken.001是 rm 的视频文件.现在我们将两个文件重新合并在一起,同时让声音整个延后 500毫秒.(0.5 秒)
rma -jql500/broken.000//broken.001/ fixed.rm
-j 表示合并两个文件,ql500 表示通过参数信息告诉播放器声音整个延后 500 毫秒 播放.
If it's getting worse, try to change skew direction:
假如声音要整个提前 500 毫秒:(未照原文翻译,但这样应更明确些)
rma -jql-500/broken.000//broken.001/ fixed.rm
If nothing happens, try to force skew:
假如和原来一样,改变不起作用,那我们试着真正的让声音延后或提前
rma -jq500/broken.000//broken.001/ fixed.rm
q500 表示合并时声音整个延后 500 毫秒
or
rma -jq-500/broken.000//broken.001/ fixed.rm
q500 表示合并时声音整个提前 500 毫秒
------------------------------
用户可多试几次,以找到合适的时间间隔.(播放前重建索引 rma -i fixed.rm)
------------------------------
If it still doesn't help, here's the last resort:
假如它仍然帮不上忙,还有最后一招:
rma -js/broken.000//broken.001/ fixed.rm
如非必要不要使用,因为自动调整时间有可能会出错.
Don't forget to reindex newly created file:
不要忘了重建索引:
rma -i fixed.rm
Note: upgrading to a newer RealPlayer version may also help in this case.
注意:这种方法也可以用于 RealPlayer 的新版本.
(作者原话是这么说的,能不能用于 rmvb 要试了才知道.)