我共有96个视频。我使用ffmpeg转换了大部分视频, 但对于一些视频,它给了我一些错误。 作为第一步,我使用以下命令对视频进行了解除隔行扫描:
ffmpeg -video_size 1920x1080 -r 25 -pixel_format yuv422p -i stockholm.yuv -vf yadif stockholm_deInt.yuv
我收到以下错误:
[rawvideo @ 0x7fa144008c00]无效的缓冲区大小,数据包大小2073600<预期frame_size 4147200
解码流#0时出错:0:参数无效 frame = 187 fps = 3.7 q = -0.0 Lsize = 757350kB time = 00:00:07.48 bitrate = 829440.0kbits / s
视频:757350kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB多路复用开销:0.000000%
当我尝试获取有关视频的信息(ffprobe stockholm.yuv
)时,我会收到以下信息:
[IMGUTILS @ 0x7fff5bac8140]图片大小0x0无效
[IMGUTILS @ 0x7fff5bac8150]图片大小0x0无效
[rawvideo @ 0x7fbcb200da00]无法找到流0的编解码器参数(视频:rawvideo(I420 / 0x30323449),yuv420p,-4 kb / s):未指定尺寸
考虑增加“分析”的价值。并且'探测'选项 stockholm.yuv:不允许操作。
有没有人有任何想法?
答案 0 :(得分:1)
我认为pixel_format可能是错误的。错误可能发生在输入文件的最后一帧。由于 yuv422p 格式,它预计" 4147200"每帧的像素(字节)。如果输入格式错误,它将结束读取文件末尾的较小字节。
对于相同的输入文件,您是否尝试使用 yuv420p 执行相同的命令?
我建议您交叉检查输入yuv文件的格式。
答案 1 :(得分:0)
尝试以1080p进行流传输时,我遇到了类似的问题,将设置从yuyv422更改为yuv420p解决了我的问题。