我有一个网址(<ip>/ipcam/mpeg4.cgi
),指向通过以太网连接的 IP摄像头。
访问URL会产生无限的视频流(可能带有音频)数据。
我想将这些数据存储到一个视频文件中,稍后用视频播放器播放(HTML5的video
标签首选作为播放器)。
但是,一种简单的方法,将流数据保存到.mp4
文件很简单,但不起作用。
我查看了文件,这是我看到的内容(点击放大):
事实证明,有一些HTML标题,我进一步使用二进制编辑工具手动排除,但没有玩家可以播放文件的其余部分。
HTML标题是:
--myboundary
Content-Type: image/mpeg4
Content-Length: 76241
X-Status: 0
X-Tag: 1693923
X-Flags: 0
X-Alarm: 0
X-Frametype: I
X-Framerate: 30
X-Resolution: 1920*1080
X-Audio: 1
X-Time: 2000-02-03 02:46:31
alarm: 0000
我的问题现在非常清楚,我想要任何帮助或建议。我怀疑,我必须根据上面的值自己手动创建一些MP4标题,但是,我无法理解格式描述,例如these。
我的IP摄像机上有以下视频流设置(点击放大):
我也可以使用ffmpeg
工具,但无论我如何尝试将参数混合到程序中,它都会告诉我这个错误:
答案 0 :(得分:2)
看起来您的服务器正在以附件B字节流格式发送H.264编码的“rawvideo”。
可能会使用以下命令行重新格式化为.mp4:
ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4
将音频/视频流保存到文件中并非易事。如果它只是视频,使用MPEG2 TS格式是最简单的方法。
对于.mp4流式传输,请考虑-movflags faststart
- &gt; Recommendation on the best quality/performance H264 encoder for video encoding?
**更新:-bsf h264_mp4toannexb
选项可以省略,我不确定。
答案 1 :(得分:0)