试了23.9760240
一样失败
然后找到一个新命令, -fps = :fps
所以又重头试一次, 也是失败
chkdsk /f 也试过, 没有问题
H:\>chkdsk /f
档案系统的类型是 FAT32。
无法锁定目前磁碟机。
无法执行 Chkdsk,因为磁碟区被其他处理程序使用中。
如果您先解下这个磁碟区的话,Chkdsk 可能可以执行。
所有在这个磁碟区上开启的控制码都会失效。
您想要强制解下这个磁碟区吗? (Y/N)y
磁碟区已解下。在这个磁碟区上所有开启中的控制都已失效。
磁碟区序列号码为 B912-B000
Windows 正在确认档案及资料夹...
档案及资料夹确认已完成。
Windows 已经检查了档案系统,而且没有发现问题。
磁碟空间总计 1,046,495,232 位元组。
可用磁碟空间 1,046,491,136 位元组。
每个配置单元各有 4,096 个位元组。
磁碟上共有 255,492 个配置单元。
磁碟上有 255,491 可用的配置单元。
H:\>
接着再试了三个test
其中一个成功
testa是直接从mp4中提取的
testb是从另一个10分钟的mkv中提取的
testc是用a的mp4, 直接打包成mkv, 再由mkv中提取出来的
结果就只有testb成功,
a和c文件是完好的, 两个.h264直接封mkv也是正常没有错误
现在打算再找多一些片源做测试
H:\>mp4box -add test.h264:fps=23.976 -new test.mp4
AVC-H264 import - frame size 704 x 480 at 23.976 FPS
Import results: 34788 samples - Slices: 560 I 23223 P 11005 B - 1 SEI - 560 IDR
Stream uses B-slice references - max frame delay 2
Saving test.mp4: 0.500 secs Interleaving
Error: I/O Error
H:\>mp4box -add testb.h264:fps=23.976 -new testb.mp4
AVC-H264 import - frame size 848 x 480 at 23.976 FPS
Import results: 9776 samples - Slices: 101 I 2551 P 7124 B - 1 SEI - 87 IDR
Stream uses B-slice references - max frame delay 2
Saving testb.mp4: 0.500 secs Interleaving
H:\>
H:\>mp4box -add testc.h264:fps=23.976 -new test.mp4
AVC-H264 import - frame size 704 x 480 at 23.976 FPS
Import results: 34788 samples - Slices: 560 I 23223 P 11005 B - 1 SEI - 560 IDR
Stream uses B-slice references - max frame delay 2
Saving test.mp4: 0.500 secs Interleaving
Error: I/O Error
H:\>