版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
segasaturn
帖子: 16
注册时间: 2011-01-04 17:02

请问ffms2读取失败的原因

我下载了一个这样的影片

代码: 全选

概要
完整名称                             : D:\image\kelu\video\c\LABM-7074.part_2.mkv
文件格式                             : Matroska
文件大小                             : 3.30 GiB
长度                               : 3小时 31分
平均混合码率                           : 2 231 Kbps
编码日期                             : UTC 2011-03-03 15:57:48
编码程序                             : mkvmerge v4.2.0 ('No Talking') 編譯於 Jul 28 2010 18:38:23
编码函数库                            : libebml v1.0.0 + libmatroska v1.0.0

视频
ID                               : 1
文件格式                             : MPEG-4 Visual
格式简介                             : Advanced Simple@L5
格式设置, BVOP                       : 是
格式设置, QPel                       : 否
格式设置, GMC                        : No warppoints
格式设置, Matrix                     : 自定义
编码设置ID                           : XVID
编码设置ID/提示信息                      : XviD
长度                               : 3小时 31分
码率                               : 1 738 Kbps
画面宽度                             : 720像素
画面高度                             : 416像素
画面比例                             : 16:9
帧率                               : 29.970 fps
ColorSpace                       : YUV
ChromaSubsampling                : 4:2:0
BitDepth/String                  : 8位
扫描方式                             : 逐行扫描
bits/(pixel*frame)(数据密度)         : 0.194
大小                               : 2.57 GiB (78%)
编码函数库                            : XviD 1.2.0.dev47 (UTC 2006-11-01)

音频
ID                               : 2
文件格式                             : AC-3
文件格式/信息                          : Audio Coding 3
Format_Settings_ModeExtension    : CM (complete main)
混合模式                             : Header stripping
编码设置ID                           : A_AC3
长度                               : 3小时 31分
码率模式                             : CBR
码率                               : 448 Kbps
声道                               : 2声道
声道位置                             : Front: L R
采样率                              : 48.0 KHz
BitDepth/String                  : 16位
大小                               : 679 MiB (20%)
生成了一个这样的avs

代码: 全选

SetWorkingDir("C:\Program Files\AviSynth 2.5\plugins\")

var_movie	= "D:\image\kelu\video\c\LABM-7074.part_2.mkv"
var_atrack	= -1
var_delay	= 0
var_cache	= "D:\enc\test\temp_LABM-7074.part_2.ffindex"

FFmpegSource2(var_movie,cachefile=var_cache,fpsnum=24000,fpsden=1001,atrack=var_atrack)
ffms的版本是
ffmpegsource-2.15-mt.7z (Uploaded:Feb 11, 2011)

结果却是…
Exception: Integer Divide by Zero
(FFMS2.avsi , line 31)

我尝试了DirectShowSource方式读取,能够成功
于是我试着改变一点参数
------------------------------------
FFIndex(原始视频.mkv)
FFVideoSource(原始视频.mkv)
的结果
Exception: Integer Divide by Zero
------------------------------------
A = FFAudioSource(原始视频.mkv)
V = FFVideoSource(原始视频.mkv)
AudioDub(V, A)
的结果
Exception: Integer Divide by Zero
------------------------------------
FFmpegSource2(原始视频.mkv)
的结果
成功
------------------------------------
FFmpegSource2(原始视频.mkv,atrack=-1)
的结果
Exception: Integer Divide by Zero
(FFMS2.avsi , line 39)
------------------------------------

之后我利用ffmpeg将视频流单独分离为avi并以AviSource读取成功
但…
------------------------------------
FFmpegSource2(分离视频.avi)
的结果
CPU=100%
------------------------------------
FFIndex(分离视频.avi)
FFVideoSource(分离视频.avi)
的结果
CPU=100%
------------------------------------

另外单纯读取音频的话
------------------------------------
FFAudioSource(原始视频.mkv)
的结果
Exception: Integer Divide by Zero
------------------------------------
FFmpegSource2(var_movie,vtrack=-2,atrack=-1)
的结果
FFAudioSource: No Video track selected
(FFMS2.avsi, line 36)
------------------------------------

Q1.因为其中有一次视频成功,所以让我分不清到底问题出在视频还是音频上…
Q2.mpg以外的文件,如何实现精确选择转换时间段?
Q3.从mkv或mp4分离到avi的mpeg4asp,是否会有packed bitstream问题?

回到 “AviSynth”