ffmpeg错误> av_interleaved_write_frame():设备上没有剩余空间

时间:2019-02-05 12:15:25

标签: ffmpeg

我正在使用ffmpeg通过以下命令录制屏幕

ffmpeg -f alsa -f x11grab -i :0.0+0,0 -framerate 30 -crf 30 -video_size 400x400 output.mp4

当磁盘上的内存不足时,ffmpeg会引发av_interleaved_write_frame(): No space left on device错误。并且在打开记录的文件时出现错误This file contains no playable streams.

是否可以播放视频文件?

2 个答案:

答案 0 :(得分:0)

不是mp4,否。 MP4要求最后关闭文件以写出Moov框。此框包含播放文件所需的信息,并且由于其结构,无法写到最后。您可以使用其他容器,例如mkv或flv,该容器使用不同的init结构,并且可以在流中进行写入和更新。

答案 1 :(得分:0)

就你而言,是的。最近由于磁盘空间不足,我也得到了一个类似的不可播放文件。试试这个免费工具来修复它: https://www.videohelp.com/software/recover-mp4-to-h264

用法:

recover_mp4.exe reference_file.mp4 --analyze
recover_mp4.exe broken.mp4 repaired.h264 [audio.aac | audio.wav | audio.mp3]