在linux系统下面运行sh文件的时候出现如下报错,看上去是./40/%d.bmp的问题,实际上是文件格式的问题。
Input #0, rawvideo, from 'xxx.yuv':
Duration: 00:00:01.20, start: 0.000000, bitrate: 622080 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 622080 kb/s, 25 tbr, 25 tbn, 25 tbc
'NULL @ 0x64b51c0] Unable to find a suitable output format for './40/%d.bmp
: Invalid argument
1 使用notepad++
初始的界面如下,看不出问题:
使用视图->显示符号>显示所有字符
可以看到在默认的情况下windows的格式会在段落末尾同时有CR、LF,但是unix系统不一定能正常读取。
因此选择编辑->文档格式转换->转为Unix。
最终可以看到段落的结尾是只有LF。
2 vi/vim更改
用vi/vim打开文件chaifen.sh之后,在命令模式下输入
:set fileformat=unix
成功!!