本页为 NMM视频技术(旧)论坛(2004–2012)的只读存档,无法登录或发帖。欢迎前往 新论坛 交流。

NMM视频技术(旧)

查看: 3759回复: 6
打印 上一主题 下一主题

很郁闷的问题,关于保持视频时间正常的

[复制链接]
xiao1
跳转到指定楼层
1楼
发表于 2009-9-2 11:54 只看该作者 回帖奖励 倒序浏览 阅读模式
弄到了1集tv录制的AVI,放源的人把隔行的东西直接压成逐行,导致交错不能去掉

准备输出图片 手动删除,但是又怕最终片子持续时间不准,有没有啥好办法?


另,老片重播,交错没规律。乱七八糟的,手动删了2分钟的,感觉还可以。



谢谢关注
dgwxx
2楼
发表于 2009-9-2 12:18 只看该作者
"输出图片 手动删除"是怎么样一个过程呢。
直接deinterlace不就成了。
diseac
3楼
发表于 2009-9-2 12:38 只看该作者
楼主的处理方法是错误的,不过既然问的是时间的问题,那就根据楼主的思路说一下吧。
手动删帧,而且是没有规律的删除,必须修改帧时间戳。
可以修改被删帧的下一帧的时间戳,最好的方式是编写TCv2来对时间进行修正。

TCv2的格式是:
  1. # timecode format v2
  2. 第0帧从什么时间开始播放
  3. 第1帧从什么时间开始播放
  4. 第2帧从什么时间开始播放
  5. 以此类推...
复制代码
其中每一行就是该帧的时间戳,计算公式是
1000 除以 帧率 乘以 帧号

现在假设你删除了第100帧,那么第101帧的播放时间就提前了(1000/帧率*帧号)这么多的时间,因此必须对TCv2进行修正,使第101帧的播放时间恢复为原来的时间戳。

我想既然楼主愿意一帧一帧的去删除交错帧,也就不在乎一帧一帧的计算TCv2了吧。
xiao1
4楼
 楼主 发表于 2009-9-6 08:43 只看该作者
恩,谢谢ls两位大大解答,学会了

除了删除帧以外还有啥办法没有?
diseac
5楼
发表于 2009-9-6 11:14 只看该作者
无聊的脚本: deleteframeMOD

deleteframeMOD (删除帧号,复制方向,debug)

删除帧号:被删掉的帧号。
复制方向:1=复制被删帧后一帧,0=复制被删帧前一帧。 [1]
debug:显示一些信息。
  1. function deleteframeMOD (clip v, int "delframe", int "direction", bool "debug") {
  2. fc = v.framecount
  3. debug = default(debug,false)
  4. direction = default(direction,1)
  5. direction = delframe==fc-1 ? 0 : direction
  6. direction = delframe==0 ? 1 : direction
  7. direction = direction!=0 && direction!=1 ? 1 : direction
  8. assert(delframe<fc,"deleteframeMOD Error: delframe>"+string(fc-1))
  9. assert(delframe>=0,"deleteframeMOD Error: delframe<0")
  10. v = debug ? v.info() : v
  11. direction==1 ? v.DeleteFrame(delframe).DuplicateFrame(delframe)
  12. \ : v.DeleteFrame(delframe).DuplicateFrame(delframe-1)
  13. return debug ? last.subtitle("deleteframeMOD Debug : delframe="+string(delframe)+" | direction="+string(direction),align=3)
  14. \ : last
  15. }
复制代码
lititude
6楼
发表于 2009-9-6 19:02 只看该作者
Fizick 有个插件叫badframes,可以用临近的帧或混合来替换掉坏掉的帧。

链接
http://avisynth.org.ru/badframes/badframes.html
xiao7
7楼
发表于 2009-9-7 09:55 只看该作者
谢谢各位大大的耐心解答

小黑屋手机版NMM视频技术

GMT+8, 2026-10-11 12:23 , Processed in 0.019358 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.