搜索 社区服务 统计排行 帮助
  • 2993阅读
  • 21回复

[原创]把120FPS MKV封装为VFR MKV 的软件 1.01

楼层直达
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
Auto 120 FPS MKV To VFR MKV

功能:把120FPS MKV封装为VFR MKV,从而方便转为RMVB。



2005.04.27发布1.01
修正不指定复制字幕或音频,也会复制的Bug。

下载:
http://dio1888.blogchina.com/1335971.html

级别: 工作组
注册时间:
2003-11-07
在线时间:
1小时
发帖:
7032
只看该作者 21楼 发表于: 2005-04-27
引用
最初由 Lain 发布
如果相反方向, 要把 VFR mkv 轉化成120fps mkv , 有沒有方法?


1,要使用v1格式的timecode文件,把第2行改为Assume 119.88,并把各段都写上,不要有遗漏.可以使用weilai提供的工具(那个帖子怎么跑精华区去了:rolleyes: )
2,导入mkv,视频加上这个timecode文件,再打包.

你一播放就会发现,mkv自动添加了大量的空帧,也就是120型.
不过个人认为这么做没有任何意义.

青空が眩しい 君がいる風景は
幸せのオーラ 溢れ出すの とまらないよ
駅前の噴水 虹を作っているよ
君を待つ時間さえも かけがえない プレシャスな時

=========================

FANSUB的历史,又翻过了新的一页
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 20楼 发表于: 2005-04-27
引用
最初由 Lain 发布
如果相反方向, 要把 VFR mkv 轉化成120fps mkv , 有沒有方法?


没想过逆其道:eek:


2005.04.27发布1.01
修正不指定复制字幕或音频,也会复制的Bug。

下载:
http://dio1888.blogchina.com/1335971.html

级别: 风云使者
注册时间:
2001-11-21
在线时间:
10小时
发帖:
4505
只看该作者 19楼 发表于: 2005-04-27
如果相反方向, 要把 VFR mkv 轉化成120fps mkv , 有沒有方法?

沒有矛盾的公理式集合論, 是不能証明自身的無矛盾性
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 18楼 发表于: 2005-04-25
@我要中奖

是我搞错了,没想到mkvmerge是不能省油的灯……
引用

MKVtoolnix\mkvmerge -o "Output\H 01.mkv" --timecodes 0:Temp\120fps.avi.txt -d 0 Temp\120fps.delnull.avi -a 2 -D "D:\download\H 01.mkv"

这一句的
-D "D:\download\H 01.mkv"
要改为
-S -D "D:\download\H 01.mkv"

原来mkvmerge不指定不复制字幕(-S),就全复制了,音频流也一样……本想这软件不会更新的了,1.01要出了……倒下

级别: 侠客
注册时间:
2002-08-22
在线时间:
68小时
发帖:
655
只看该作者 17楼 发表于: 2005-04-25
引用
最初由 dio1888 发布


这么快就发现问题^^b
怪了,我刚刚试了,是可以的,你把任务列表里的命令贴出来看看


刚才又试了下,转化出来的MKV依然封进了字幕,用 MKVtoolnix打开可到里面还是3个TRACK, 软件界面选择上都是默认,就是没有勾选TRACK 3

@ECHO OFF
G:
cd\
cd "tools\code\MKV\Auto120FpsMkvToVfrMkv"
md Temp
md Output

Tools\mencoder.exe "D:\download\H 01.mkv" -o Temp\120fps.avi -ovc copy -nosound
Tools\avi2timecode.exe Temp\120fps.avi
Tools\avidelnull.exe Temp\120fps.avi
MKVtoolnix\mkvmerge -o "Output\H 01.mkv" --timecodes 0:Temp\120fps.avi.txt -d 0 Temp\120fps.delnull.avi -a 2 -D "D:\download\H 01.mkv"
del /q Temp\*.*

级别: 新手上路
注册时间:
2003-06-23
在线时间:
1小时
发帖:
2882
只看该作者 16楼 发表于: 2005-04-25
err..不对,这个其实是GUI,没用别人的源代码,想用啥协议用啥协议拉

不学无术中..

eMule ID:[eDtoon][CHN]adamhj@eMule-Official
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 15楼 发表于: 2005-04-25
引用
最初由 我要中奖 发布
这个确实是好东西,不过还是有点问题,试用了下,准备把一个封装了120fps WMV视频的MKV转化,其中封装了字幕自己想另外调整,所以转化VFR MKV时不准备连字幕一起转化

但在软件界面上已经没有勾选 TRACK 3的字幕档,但实际转化出来的MKV依然封装了字幕,选择似乎无效?


这么快就发现问题^^b
怪了,我刚刚试了,是可以的,你把任务列表里的命令贴出来看看


引用
最初由 adamhj 发布
分发协议……GPL的话是对源代码而言的吧……(不过mkvtoolnix应该是GPL的,所以这个也该是GPL),如果就软件使用协议而言,应该指shareware,freeware之类的吧?


GPL太像病毒了……

级别: 新手上路
注册时间:
2003-06-23
在线时间:
1小时
发帖:
2882
只看该作者 14楼 发表于: 2005-04-25
分发协议……GPL的话是对源代码而言的吧……(不过mkvtoolnix应该是GPL的,所以这个也该是GPL),如果就软件使用协议而言,应该指shareware,freeware之类的吧?

不学无术中..

eMule ID:[eDtoon][CHN]adamhj@eMule-Official
级别: 侠客
注册时间:
2002-08-22
在线时间:
68小时
发帖:
655
只看该作者 13楼 发表于: 2005-04-25
这个确实是好东西,不过还是有点问题,试用了下,准备把一个封装了120fps WMV视频的MKV转化,其中封装了字幕自己想另外调整,所以转化VFR MKV时不准备连字幕一起转化

但在软件界面上已经没有勾选 TRACK 3的字幕档,但实际转化出来的MKV依然封装了字幕,选择似乎无效?

级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 12楼 发表于: 2005-04-24
引用
最初由 weilai 发布
Unicode to UTF-8函数
其實就兩個原則
00~7F 是ANSI(美國國家標準)碼的範圍,不做 UTF-8 標記位元的處理
P.S.
在Unicode裡是
00 00 ~ 00 7F
在File裡是以倒序記載
00 00 ~ 7F 00

剩下的範圍則要做轉換
1.
UTF-8 每一個字碼之第一Byte是(包含)表示此UTF-8碼要幾個Byte來記錄 (暫稱為 標記位元s)
11xx xxxx 表示 有兩個
111x xxxx 表示 有三個 ※ x 表示 0 或 1
2.
從後數起每 6 bit 與 1000 0000 做重組成一新 Byte (所以要先遮蔽 倒數第7 及第8 bit,再與 &H80 做 OR邏輯 運算)
3.剩下不足重組 6 bit的位元,則與 標記位元s 組成1Byte

P.S. UTF-8 字碼長度不一,理論上可以最多到 6 個字節(Byte)長: 6-1個自己=5,5 x 6 = 30 最>接近30的數是 32(4 Byte),所以多2個bit 與11111100組成 111111xx

但我寫的那個是把 Unicode 轉成 UTF-8
所以大膽假設所有 字碼都是 2個Byte 組成
因此 標記位元s 都是 111x xxxx 也就是 000x xxxx 與 &HE0 做 OR運算

因為不知 VB 有何 bit 左位移函式可用 (API搞不好有,懶得查...)
所以就用一些難懂得笨方法來達成


==============
以上就是設計理念



小睡了一会儿,精神状态可以,准备啃它:D

级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 11楼 发表于: 2005-04-24
Unicode to UTF-8函数
其實就兩個原則
00~7F 是ANSI(美國國家標準)碼的範圍,不做 UTF-8 標記位元的處理
P.S.
在Unicode裡是
00 00 ~ 00 7F
在File裡是以倒序記載
00 00 ~ 7F 00

剩下的範圍則要做轉換
1.
UTF-8 每一個字碼之第一Byte是(包含)表示此UTF-8碼要幾個Byte來記錄 (暫稱為 標記位元s)
11xx xxxx 表示 有兩個
111x xxxx 表示 有三個 ※ x 表示 0 或 1
2.
從後數起每 6 bit 與 1000 0000 做重組成一新 Byte (所以要先遮蔽 倒數第7 及第8 bit,再與 &H80 做 OR邏輯 運算)
3.剩下不足重組 6 bit的位元,則與 標記位元s 組成1Byte

P.S. UTF-8 字碼長度不一,理論上可以最多到 6 個字節(Byte)長: 6-1個自己=5,5 x 6 = 30 最>接近30的數是 32(4 Byte),所以多2個bit 與11111100組成 111111xx

但我寫的那個是把 Unicode 轉成 UTF-8
所以大膽假設所有 字碼都是 2個Byte 組成
因此 標記位元s 都是 111x xxxx 也就是 000x xxxx 與 &HE0 做 OR運算

因為不知 VB 有何 bit 左位移函式可用 (API搞不好有,懶得查...)
所以就用一些難懂得笨方法來達成


==============
以上就是設計理念

级别: 工作组
注册时间:
2003-11-07
在线时间:
1小时
发帖:
7032
只看该作者 10楼 发表于: 2005-04-24
引用
最初由 dio1888 发布


何为分发协议?:confused:


GPL.....

青空が眩しい 君がいる風景は
幸せのオーラ 溢れ出すの とまらないよ
駅前の噴水 虹を作っているよ
君を待つ時間さえも かけがえない プレシャスな時

=========================

FANSUB的历史,又翻过了新的一页
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 9楼 发表于: 2005-04-24
引用
最初由 MeteorRain 发布
文件真是肥大………………另外,这个软件没有分发协议么…………
引用
最初由 weilai 发布
再加個建議
因為可能會產生一些為數不小的 temp
建議加入任務後判斷一下剩餘Disk空間是否足夠
會比較好一點

貼一個現成的
取得Disk Free Space与Total Space
VB 代碼
http://vbworld.sxnw.gov.cn/articles/api/htmapi2.htm


先谢了,WeiLai兄还真是宝物一大堆^^,不过你给的Unicode to UTF-8函数,我都还没看……现在是头晕晕的


引用
最初由 MeteorRain 发布
文件真是肥大………………另外,这个软件没有分发协议么…………


何为分发协议?:confused:

级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 8楼 发表于: 2005-04-24
文件真是肥大………………另外,这个软件没有分发协议么…………

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
快速回复

限150 字节
上一个 下一个