FFmpeg推流时出现“av_interleaved_write_frame(): Unknown error”错误通常与输出流或网络问题有关。以下是一些常见的排查和解决方法:
-f flv
)是否正确。-b:v
)和音频码率(-b:a
)。-bufsize
和-maxrate
参数调整缓冲区大小。-s
)以减轻网络负担。-loglevel debug
参数获取更多调试信息,帮助定位问题。-f null -
将输出重定向到空设备,检查是否有编码或输入问题。以下是一个推流到RTMP服务器的示例命令:
bash
ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k -c:a aac -b:a 128k -f flv rtmp://example.com/live/stream
如果仍然报错,可以尝试以下调整:
bash
ffmpeg -i input.mp4 -c:v libx264 -b:v 800k -maxrate 800k -bufsize 1600k -c:a aac -b:a 96k -f flv rtmp://example.com/live/stream -loglevel debug
通过以上步骤,你应该能够定位并解决“av_interleaved_write_frame(): Unknown error”错误。如果问题仍然存在,建议提供更多上下文信息(如完整的FFmpeg命令和日志)以便进一步分析。