ffmpeg执行./stream.sh加载视频报错,如何正确配置使用路径?
问题原因分析
路径相关问题
- 你当前使用的
/home/video.mp4是不符合Linux目录规范的错误路径:Linux系统中/home是所有用户个人目录的上级目录,普通用户默认没有对/home根目录的写入权限,你大概率是把视频存到了个人用户目录下,比如/home/你的用户名/video.mp4,而非直接放在/home下 - 路径不匹配:你可以先在终端执行
ls /home/video.mp4验证文件是否存在,如果返回No such file or directory即可确认路径配置错误
非路径相关补充说明
如果确认路径完全正确,那报错的核心原因是视频文件损坏:moov atom not found说明MP4文件的元数据块丢失,一般是文件未下载完成、传输中断导致的,ffmpeg无法识别不完整的MP4封装格式。
正确的路径使用方法
- 优先使用相对路径:如果
video.mp4和stream.sh放在同一目录下,直接在ffmpeg的movie filter参数里写filename=video.mp4:loop=0即可,无需填写完整路径 - 使用正确的绝对路径:将视频文件直接拖拽到终端窗口,终端会自动输出该文件的完整绝对路径,复制该路径替换原来的
/home/video.mp4即可 - 特殊路径处理:如果路径包含空格、中文或特殊符号,需要用单引号将路径包裹,避免ffmpeg解析错误
- 权限校验:如果路径正确仍报错,执行
chmod +r 你的视频完整路径给文件加读权限,避免权限不足导致的读取失败
内容的提问来源于stack exchange,提问作者rcong
相关产品推荐
相关产品推荐

