最近项目上遇到一个问题,用ffmpeg请求录制一个m3u8的实时流成为mp4文件的时候,命令返回404错误:
但是有一个很奇怪的现象,就是ffmpeg请求不到的,VLC却能正常播放,对比一下抓包:
那么既然就差别就这么一个http的Header,我们直接想办法在ffmpeg的请求里面加上这个Header不就可以了吗,于是,产生了一个命令:
ffmpeg.exe -re -headers "Accept-Encoding: deflate, gzip" -i http://99.99.99.99:80/openUrl/i3oxHMs/live.m3u8?streamform=rtp -an -f mp4 xxx.mp4
成功!就加这么一个Header,就搞定了!
BTW:这里发现音频解码也会出点问题,所以,直接-an,不要音频了,省事!