level 1
有一批wmv,压成mp4不同步,通常是开头头部,到后面就不同步了。在论坛向各位高人寻求指点,加上自己研究,走过不少弯路,现在终于知道原因,下面把过程记叙一下
源文件 3000k,因为中间有不需要的部分,我用微软的wme 9自带的windows media file editor这个官方软件剪辑后再用ez-merge合并,也有的就是剪辑片头片尾没有合并。
1 开始以为是合并软件ez-merge的问题,但是发现没有合并单纯剪辑片头片尾的文件也有问题
2 接下来以为是vfr的问题,后来觉得视频是固定帧率
3 论坛朋友指点dss可能导致问题,于是用ffms,问题依旧
4 是否megui软件问题,于是用mc和x264vfw分别压缩,结果和megui一样不同步
5 论坛有朋友建议对于中间有不需要片段的文件剪辑后直接压缩,压成mp4后再合并,于是我尝试剪辑成2个wmv再压缩,结果一个不同步
6 怀疑是ffms的问题,因为在混流264和m4a时发现264文件帧率错误,而且在混流器中更改为
正确的
29.97,但是实际出来的成品还是不同步。
7 最后用ffms索引后发现,剪过的wmv源文件帧率居然都是错误的,比如29.40,29.96 ,而不是mediainfo中显示的29.97或者30,终于明白,问题出在wme 9自带的windows media file editor身上,这个剪辑过的软件不知道是原本固定帧率变成vfr还是计算错误,帧率出现变动,导致成品mp4不同步。 因为29.94和29.97相差不多,所以成品考前部分没有发现不同步,后面部分不同步明显。
问题所在剪辑过的wmv本身播放完全同步,觉察不出问题,但是压片就不同步了,对于以后要压的文件,我绝对会先压后剪辑。 但是对于已经剪辑过的许多wmv想恢复正确的帧率重新压缩,已经压缩并且删除源文件wmv的mp4成品,恢复正确的帧率,是目前我面临的两个问题。
尝试解决
1 用asftools再剪辑一次wmv,出来的结果帧率还是没有恢复
2 用windows media stream(WME9自带)重新混流一次wmv,帧率还是不对
3 把wmv装入mkv,指定帧率,失败,asf2mkv不行的,似乎也没有软件可以
请大家看看,能否指出2条明路
2013年01月27日 14点01分
1
level 1
我上次想发个图片都没有成功,要么我截取一分钟找个网盘传一下,但是我担心截取时间太短无法看出不同步
2013年01月27日 14点01分
3
截图了,我想上传本地图片,结果按钮上是一个大叉,穿不了
2013年01月27日 14点01分
谢谢关心,我痛苦的发现没有adobe flash升级版本发布了图,有网盘上传不太会。我明天搞定,麻烦到时候看看,指点一下
2013年01月27日 14点01分
level 1
发现自己在这个问题上纠结实在太多了,毕竟不是靠这个吃饭,看看被一堆半成品塞满的硬盘空间,决定还是放弃了
wmv现在剪辑过的容量再大也不压缩了
mp4压缩过的不同步全部删除
新文件先用ffms 索引一遍,帧率不是标准的就不压
今天清空硬盘
感谢abcfy2等朋友的大力相助
2013年01月29日 04点01分
4
level 9
整个流程中只要有任何一个不支持vfr,就会失败,任何一个导出es,也会失败。现在也就ffmpeg或者mmg支持vfr很好,不要用mp4box之类的工具。
1) 编码直接用lavf解码,不会有问题。不要用avs
2) 封装用ffmpeg
2013年01月29日 05点01分
5
用libavformat解码,不是很理解,这个我查了下,没明白该如何用,megui或x264命令行下如何做?谢谢
2013年01月29日 16点01分
x264命令行加-demuxer lavf,不要写avs,直接喂视频文件
2013年01月30日 02点01分
回复 roo_zhou :是--demuxer,默认应该用的是ffms吧,应该也不会有问题吧?
2013年02月19日 02点02分
回复 abcfy2 :ffms不如lavf吧
2013年02月19日 02点02分
level 1
其实还是不懂,没有命令行基础,这几天慢慢学习,谢谢了
2013年01月31日 13点01分
6
level 1
我是这样转WMV-H264的
在VirtualDub里面,把WMV转成AVI
再用X264.EXE压AVI,就可以了。
在VirtualDub打开WMV文件需要:
安装ffdshow,并且要选中VFW和VirtualDub插件,以便VirtualDub通过VFW调用ffdshow进行视频解码。
安装DivXAudioCompressor,以便进行WMA v2音频的ACM解码和编码。
安装AACACM,用来进行AAC、MP4A音频的编解码。
安装Xvid Codec,用来进行Xvid编解码。
安装lameACM,以便进行MP3音频的ACM解码和编码。
然后在VirtualDub选择直接复制视频和音频(Direct Stream Copy),再Save as AVI。
2013年03月09日 00点03分
8
你这个属于二次重编,WMV->XVID->X264,质量会有很大损失。
2013年03月09日 07点03分
“在VirtualDub选择直接复制视频和音频(Direct Stream Copy)”,没有编码。
2013年03月09日 09点03分
level 1
用这招,我试了下,3分钟wmv转换无损avi是2.6g,如果是2小时片子估计90-100g一部了,代价太大。
最近自己一个人研究,感觉wmv-h。264确实麻烦,用了命令行,x264vfw等依然不同步
2013年03月10日 11点03分
9
level 1
说一下我的经验吧。
首先可以尝试MKV封装 H264视频配合WMA音频。他有可能就同步了。。。。
其次WMV不少可变帧率其实就是片头的10 20秒。
先转成MKV然后分割掉片头 用meidiainfo看一下 帧率是恒定了(转成MKV可以看到WMV是恒定还是可变。)在压制,直接x264.exe压,不要megui什么的。
2013年03月11日 10点03分
10
level 1
WMV分装是看不到帧率是固定还是可变的。转MKV能看到。
2013年03月11日 10点03分
11
level 1
现在wmv可以转成mkv了?什么软件?不会是asf2mkv吧
2013年03月11日 11点03分
12
level 1
在网上找了一下啊,发现用MGraphEdit
和atroskaMuxer.ax可以实现wmv封装为mkv,但是关键MatroskaMuxer.ax在win7下无法注册成功
2013年03月11日 11点03分
13
level 8
直接搭桥输出就得了...哪有那么多麻烦事。搭桥输出渲染直接就是MP4,根本不用理会这个帧率匹配的问题。
2013年03月11日 16点03分
14
或者你既然知道了WMV的实际输出帧率,那么你MP4压制的时候用AVS设定一下来匹配相同的帧率不行么?
2013年03月11日 16点03分
回复 凝芳文 :朋友你说的直接搭桥输出是说wmv转mp4?源视频是29.9的wmv,播放同步,但是压缩后即时加入convertfps=true,成品还是不同步 楼上一位朋友建议转mkv也许是一个好方法,我过去压dvd片源,先转mkv再megui。一些不同步的vob就解决了。不过先转mkv在win7上不成功
2013年03月12日 10点03分
搭桥的意思就是让非编软件直接调用X264编码的意思,那你说还算不算二次转码呢?跟你这样WMV转MP4的做法肯定是有质的区别。
2013年03月13日 03点03分
直接用命令行不用avs肯定是好的,非编反而不一定能保证同步。
2013年03月13日 04点03分
level 8
MPC作者自创过一个DSM格式,有什么特殊之处吗?
2013年03月13日 15点03分
16
level 1
dsm在mpc中有个功能,可以分离视频音频,但是不能合成,还可以隐藏文件,很鸡肋的功能。在mpc-hc中似乎没有了
2013年03月14日 04点03分
17
level 8
楼上没用过DSM的混流器吧?在官网上下个DSM Muxer Filter看看
http://
sourceforge.
net/projects/guliverkli/files/DSM%20Splitter_Muxer/DSM%201.0.0.5/
Filter实际上是COM组件,想简单使用,就用GraphEdit等软件。
2013年03月14日 13点03分
18
level 9
ffmpeg不是可以复制流,wmv容器换成mkv容器么……不过有一定几率会失败就是了……
2013年05月03日 01点05分
20