NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 5192|回复: 8

AVCSource加载,影音不同步,时间少21秒,怎么回事

[复制链接]
发表于 2009-11-13 22:00 | 显示全部楼层 |阅读模式
o.png
源的视频信息

00.png

AVCSource("C:\Users\LGX\Desktop\新建文件夹\Track1.dga",deblock=false)

AVCSource加载1分33秒,少了21秒
a.png

DirectShowSource("C:\Users\LGX\Desktop\新建文件夹\00.mkv",fps=23.976,convertfps=true)

DirectShowSource加载1分54秒,时间正常
b.png

能解救吗
发表于 2009-11-13 22:54 | 显示全部楼层
是把MKV里的264提取RAW之后放到DGAVC里的吗?
 楼主| 发表于 2009-11-13 22:59 | 显示全部楼层
是的
有解决办法吗
发表于 2009-11-14 02:45 | 显示全部楼层
本帖最后由 wtyrambo 于 2009-11-14 02:47 编辑

mkv封装的直接源文件导入dgindex吧,不用抽出来,dgavc现在支持mkv的,H.264源数据不包括fps等数据
发表于 2009-11-14 05:46 | 显示全部楼层
mkv封装的直接源文件导入dgindex吧,不用抽出来,dgavc现在支持mkv的,H.264源数据不包括fps等数据
wtyrambo 发表于 2009-11-14 02:45

这只是楼主做法的省力版本,出来的效果没有差别的

楼主这个片源很明显是VFR的,抽个timecode就行
发表于 2009-11-14 08:11 | 显示全部楼层
楼主你可以观察两者总帧数是否相同。如果相同就没问题,没少帧,只是fps变了,再变回来就行。我算了一下,1分33秒差不多相当于1分54秒的23.976fps源用29.970的速度播放出来的长度。
计算:(1×60+54)× 23.976 / 29.970 = 91.2秒 = 1分31秒
KMP在显示播放总时常的时候会取整,如果把取整造成的误差考虑进去,前后差不多刚好相等。

此外如果原本的MKV是vfr的,就需要把mkv的timecode抽出来,压好之后再封装回去即可。
 楼主| 发表于 2009-11-14 12:05 | 显示全部楼层
TimeCode已经抽取了,但是怎样封进mp4里?
发表于 2009-11-14 13:56 | 显示全部楼层
timecode是mkv封装用的,MP4没有办法直接封装timecode。楼主可以检索一种叫做tc2mp4mod的工具试试看,先把音频视频封装成mp4之后,再用这个东西加入timecode。
因为我也没用过,所以具体用法也不太清楚。
目前我能找到的线索就是这些。
 楼主| 发表于 2009-11-14 21:31 | 显示全部楼层
太感谢了~
终于解决了
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-6 02:06 , Processed in 0.107028 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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