使用RMA进行分离合并rmvb音频、视频文件

本文中使用的工具为RealMedia Analyzer,它的官方地址:

http://users.i.com.ua/~alexeysp/rma/rma.html

首先要把rma文件拷贝到需要分离的real文件的目录中,因为要进行命令行的输入,所以一般最好把rma和视频文件都放到根目录或者文件夹名字比较简单的目录中,下面的例子我们都放在了E盘的根目录下:

1、分离音频和视频:

命令如下:rma -s film.rmvb,如下图:
33
生成两个文件film.000(音频)和film.001(视频),如果你只需要进行分离的话,把这两个文件的后缀改为rm或者rmvb就可以播放了;
如果只想单独提取音频,输入:rma -sx0 film.rmvb,生成film.000音频文件;
如果只想单独提取视频,输入:rma -sx1 film.rmvb,生成film.001视频文件;

2、音频视频的合并:

如果我们合并刚才生成的那两个音频和视频文件,命令行如下:
rma -j/film.000//film.001/ film_all.rmvb 注意film_all前面有个空格
film_all.rmvb就是合并后的文件。但我们平时应用时往往是合并rm音频和real格式的视频文件,这时命令行如下:
rma -j/film_audio.rm//film_video.rmvb/ film_all.rmvb
如果音频视频不同步,可以进行调整,如要把音频向后延迟1000毫秒输出,则输入:
rma -jq1000/film_audio.rm//film_video.rmvb/ film_all.rmvb

11
如果要提前1000毫秒则输入:
rma -jq-1000/film_audio.rm//film_video.rmvb/ film_all.rmvb

3、重建文件索引:

合并后的文件没有建立新的索引,播放时不能正常拖放,输入如下命令来建立索引:
rma -i film_all.rmvb
22
重建索引后,该视频文件就可以正常播放了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
{ datetime.inc}{ version.inc}const helplines=120;helpdata:array[1..helplines] of pchar=(‘RealMedia Analyzer, Version ‘+Version+‘ build ‘+_DATETIME_,‘Copyleft (C) 2000-2003 Virtual Research‘,‘‘,‘Usage: rma [command] <filename>‘,‘‘,‘Command must start with a hyphen.‘,‘All commands and arguments are case-sensitive.‘,‘Available commands are:‘,‘‘,‘ -c[arguments] = check file integrity (default)‘,‘ arguments:‘,‘ d<n> = set maximum allowed timestamp difference to n (0..32767)‘,‘ milliseconds, 0 means don‘‘t care, default is 2000‘,‘ s<n> = set maximum allowed packet size to n (1..32767) kilobytes,‘,‘ default is don‘‘t care‘,‘ t = disable timestamps checking‘,‘ v = lower verbosity level (disable packets counter)‘,‘ z = stop on timestamp errors‘,‘‘,‘ -f[arguments] = try to fix broken file‘,‘ arguments:‘,‘ a<n> = exclude n (0..64) packets after first found intact packet‘,‘ (but not more than the number used with ‘‘c‘‘ argument),‘,‘ default is 0‘,‘ b<n> = exclude n (0..64) packets before last intact packet, default is 0‘,‘ c<n> = use minimal size of n (2..32767) packets chain when searching for‘,‘ unbroken stream parts, default is 4‘,‘ d<n> = set maximum allowed timestamp difference to n (0..32767)‘,‘ milliseconds, 0 means don‘‘t care, default is 2000‘,‘ m[suppresion level] = suppress logging, 1 means do not update log,‘,‘ 2 means mark only, 3 means suppress completely (default)‘,‘ n<n> = only fix n (1..32767) broken packets, default is all‘,‘ p<n> = force maximum packet size (intact packet criterion) to‘,‘ n (16..32767) bytes, default is take from header‘,‘ s<n> = set maximum allowed packet size (broken packet criterion) to‘,‘ n (1..32767) kilobytes, default is don‘‘t care‘,‘ t = disable timestamps checking‘,‘ v = lower verbosity level (disable packets counter)‘,‘ z = try to fix timestamp errors‘,{ __UNIX__}‘ undo filename = create an undo file with the specified pathname‘,{}‘ /undo filename/ = create an undo file with the specified pathname‘,{}‘‘,‘ -d[argument] = dump some information about the file‘,‘ arguments (mutually exclusive):‘,‘ b = dump brief information about the file‘,‘ g = dump general information (default)‘,‘ l = display operations log only‘,‘ i = dump file index‘,‘‘,‘ -i[arguments] = rebuild index sections‘,‘ arguments:‘,‘ a = index all keyframe packets‘,‘ m[suppression level] = suppress logging‘,‘ v = lower verbosity level (disable packets counter)‘,‘‘,‘ -j[arguments] = join (multiplex) two RealMedia streams‘,‘ arguments:‘,{ __UNIX__}‘ firstfilename = pathname of the file containing first stream,‘,‘ default is stream00.rm‘,‘ secondfilename = pathname of the file containing second stream,‘,‘ default is stream01.rm‘,{}‘ /firstfilename/ = pathname of the file containing first stream,‘,‘ default is stream00.rm‘,‘ /secondfilename/ = pathname of the file containing second stream,‘,‘ default is stream01.rm‘,{}‘ i = build index after join‘,‘ m[suppression level] = suppress logging‘,‘ o = write old-style file header‘,‘ p = paste instead of multiplex‘,‘ s = try to synchronize streams‘,‘ q[l]<time> = set relative stream 0 to stream 1 skew in milliseconds‘,‘ (0..10000, signed). ql means set logical skew,‘,‘ otherwise set physical skew‘,‘ v = lower verbosity level (disable packets counter)‘,‘‘,‘ -l = strip operations log and RealMedia Analyzer mark, if any‘,‘‘,‘ -p = display RealMedia Analyzer use and (re)distribution policy‘,‘‘,‘ -s[arguments] = split (demultiplex) stream‘,‘ arguments:‘,‘ m[suppression level] = suppress logging‘,‘ o = write old-style file header‘,{ __UNIX__}‘ p<directory prefix> = use specified drive/directory for output files‘,‘ (default is current directory)‘,{}‘ p</directory prefix/> = use specified drive/directory for output files‘,‘ (default is current directory)‘,{}‘ x<n> = extract n‘‘th stream from the file‘,‘ v = lower verbosity level (disable packets counter)‘,‘‘,‘ -u[arguments] = discard changes according to specified undo file‘,‘ (in this case, <filename> is the undo file pathname)‘,‘ arguments:‘,‘ m[suppression level] = suppress logging‘,‘‘,‘ -x[arguments] = extract part of stream‘,‘ (this command only works with the single-stream files)‘,‘ arguments:‘,‘ /<start time> (default is 00:00:00.00)‘,‘ <end time> (default is end of stream)‘,‘ d = delete part of stream instead of extract‘,‘ k = ignore keyframes‘,‘ m[suppression level] = suppress logging‘,‘ o = write old-style file header‘,{ __UNIX__}‘ p<directory prefix> = use specified drive/directory for output file‘,‘ (default is current directory)‘,{}‘ p</directory prefix/> = use specified drive/directory for output file‘,‘ (default is current directory)‘,{}‘ t = ignore timestamps‘,‘‘,‘examples:‘,‘‘,‘ rma test.rm‘,‘ check integrity of test.rm‘,‘‘,‘ rma -f test.rm‘,‘ try to fix errors in test.rm with default settings‘,‘‘,‘ rma -fb2n1 test.rm‘,‘ try to fix errors in test.rm, seek two packets back‘,‘ when broken packet is found, only fix first broken packet‘,‘‘,‘ rma -sx1 test.rm‘,‘ extract stream 1 from test.rm‘,‘‘,{ __UNIX__}‘ rma -jaudio.rmvideo.rm test.rm‘,{}‘ rma -j/audio.rm//video.rm/ test.rm‘,{}‘ join streams from audio.rm and video.rm and write‘,‘ multiplexed stream to test.rm.‘,‘‘);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值