我们的客户端发送从服务器下载电影文件的请求。当服务器收到请求时,它将启动一个ffmpeg进程来转码电影。 ffmpeg的输出暂时保存到硬盘。我们不希望让客户端在转码完成后等待下载文件,因此我们发送输出数据作为其生成。
问题是ffmpeg似乎在完成转码后重写输出文件头,因此下载的文件(在客户端)没有正确的文件头,并且播放器无法播放。
我的问题是有没有办法让ffmpeg不重写标题?应该解决这个问题的方法是什么?
编辑:该命令用于转码为mp4容器中的H264 / AAC
答案 0 :(得分:1)
是ffmpeg
返回到文件的开头并更新结构以指示仅在文件完成时可用的有效大小。
为了能够“直播”流,您应该考虑使用其他方法(例如使用RTSP协议)传递有效负载视频/音频。在完全完成之前,不完整的MP4文件无法正常播放。