『漫游』酷论坛>『影音数码技术学习交流』>[求助]如何生成120fps的 ..
weilai@2004-12-22 14:42
之前的 VDM 好像有問題 ^^||
回頭分析一下 Null frame 120fps .AVI
可知當初是 24/30fps片頭or片尾 要與 30/20fps劇情 做無損frame append連結
所以任何改變源stream frame 數目的動作都不符合樓主的要求
但我們知道 Null frame 在播放時是沒有解碼運算動作的
所以實際上 Null frame 120fps .AVI 是一個另類 Drop play video stream (於播放階段智慧Drop frame的video stream)
因為 解碼->字幕合成(Encode)->成檔 的流程上問題
沒有方法達到上述要求
(P.S. 聽說 Avisynth 的 changefps 有智慧型過濾 Null frame 的作用可能可以利用此法去掉Null frame再壓縮,但這裡先不談,待第二方法再談...)
所以山不轉路轉
可利用 改變FPS播放旗標的壓縮技巧 來達成 不改變源stream frame數目 的要求
1.
用 AVI Frame Rate Changer 將 Null frame 120fps .AVI 的 FPS播放旗標(dwMicroSecPerFrame)改成 30fps
接著利用 Avisynth 的 .ConvertFPS .AssumeFPS (這兩個與changefps不同不會Drop frame)來加速播放
如此透過 .avs 來提供一個 無損frame video stream
只是此方法最後會得到一個 30fps 的結果
但可利用AVI60(120、60 FPS Changer)來變成 120fps <====此舉毫無意義 ^^||
2.
方法2 有點麻煩,且是要建立在 "changefps 有智慧型過濾 Null frame 的作用" 之依據上才可成立(個人沒有能力時間證明,姑且成立此說法)
先將 片頭、片尾、劇情 利用VDM作 Direct stream copy 的分割動作
寫一.avs分別 片頭.changefps(x) 劇情.changefps(y) 片尾.changefps(z)
如此就過濾 Null frame 了
(x y z是原始FPS值,不外呼是 24、30、60等常用值)
接下來再加在一起(append)連結起來 (這裡又要用changefps(max),而參數值max是x y z中最大的值,當然最大的那一個片段就不用changefps(max)了)
最後再加上 TextSub() 來掛字幕就好了
只是此方法也一樣不會得到一個 120fps 的結果
且問題在你如何得知 片頭、片尾、劇情 的原始FPS值(x y z)
wolfsoft@2004-12-22 15:12
方法1:无语,我只能说那么做肯定是错的
方法2:小提示,weilai多去doom9的mkv版转转,肯定会有惊喜的发现^o^
weilai@2004-12-22 15:23
引用
最初由 wolfsoft 发布
方法1:无语,我只能说那么做肯定是错的
方法2:小提示,weilai多去doom9的mkv版转转,肯定会有惊喜的发现^o^
wolfsoft 要這麼說我也沒話說
不過 方法1 可否告知哪裡不對...
wolfsoft@2004-12-22 15:31
这个....只是说结果不对....(疯狂刨坑~~)有点责任心的日本职人做出来的RAW基本上是正确的(为什么要说"基本"呢?最近正在为现视研郁闷啊...),所以按照其帧率分布来做内嵌,得出的结果才是正确的.不是说你的方法有问题,而是说由此得出的结果@#$%
这个,第二条我在多做点提示吧,要不weilai会觉得这条狼忒不厚道^^在doom9,有一群变态研究如何做mkv的VFR...去search吧....
weilai@2004-12-22 16:25
mkv ??
那就不是 內嵌了
方法2 是指還原(去Null)FPS,不懂與MKV有何關連
個人只是這麼想
raw是120fps的AVI 內嵌後還是120fps
相當於
不改變源stream frame數目 來內嵌
的意思
而120raw壓製並未與 "按照其幀率分佈來做內嵌" 有和關連??
120fps又不是VFR的說~
堕天地狱@2004-12-22 18:48
无语,方法一肯定不对的
方法二,如果“剧情”部分也有混fps的话这个方法也不对了
wolfsoft@2004-12-22 18:52
不,要灵活啊,剧情有变帧,那就把剧情也大卸八块好咯,原则上是正确地~~
堕天地狱@2004-12-22 19:03
这样可以是可以,不过问题是怎样找变帧的部分,传说中的fpscheck检测误差很厉害,一帧帧找的话起码要几小时吧
wolfsoft@2004-12-22 19:09
fpscheck是用来做DVD的.而且奇烂无比(说起来这作者也不思进取啊)
另:参见9楼...
skywalker@2004-12-23 06:55
说到mkv的vfr, 如果从120fps的转............
很早前有人编过一个软件利用multidecimate找出各段的fps, 然后再输出一个文件让multidicimate丢掉null的帧, 同时生成一个mkv的vfr script...............
这样压出来的avi再加上vfr的script就可以生成vfr的mkv了.............
问题在于multidecimate的速度很慢, 而且加入字幕比较成问题...........
字幕只能在multidecimate 2nd pass前加, 不然时间就对不上..............
因为filter一般用在字幕前面, 但是filter 如果在multidecimate之前加就很费时间了, 因为连null帧都需要处理...............
要解决这个只有使用avs的condition filter, 只处理multidecimate要保留的那一帧(具体我没研究过是哪一帧, 不过多半是相同帧中第一或最后那帧).....................
做起来比较复杂, 而且还是比较慢, 无法推广使用....................
还有个可能就是把字幕先加在120fps的黑屏avi上, 然后再进multidecimate 2nd pass, 而原来的avi也单独处理, 最后overlay在一起............
上面两种方法我都没完全的试过...........
因为运气好的人是不会碰到需要内嵌120fps的东西的.........
就算碰到也是假120fps的............
wolfsoft@2004-12-23 07:24
引用
因为运气好的人是不会碰到需要内嵌120fps的东西的.........
就算碰到也是假120fps的............
/me 在一旁扶着墙吐血
«12»共2页
| TOP