tod*_*tod 9 c++ opencv ffmpeg h.264 ip-camera
我在cpp中有一个opencv应用程序.
它使用opencv中的简单结构捕获视频流并将其保存到视频文件中.
它与我的网络摄像头完美配合.
但是,它可能在大约十秒后崩溃,而我运行它来捕获来自IP Camara的流.
我的编译命令是:
g++ -O3 IP_Camera_linux.cpp -o IP_Camera `pkg-config --cflags --libs opencv`
Run Code Online (Sandbox Code Playgroud)
来自IP cam的我的流被访问如下:
const string Stream = "rtsp://admin:xxxx@192.168.0.101/";
Run Code Online (Sandbox Code Playgroud)
它运行完美,显示视频并保存,直到显示的视频冻结并且应用程序崩溃.虽然终端上的错误消息是:
[h264 @ 0x15e6f60] error while decoding MB 59 31, bytestream (-20)
[h264 @ 0x15e8200] error while decoding MB 61 27, bytestream (-3)
[h264 @ 0x109c880] missing picture in access unit
[h264 @ 0x109c000] no frame!
Run Code Online (Sandbox Code Playgroud)
根据我的理解,上述错误消息中的第二行可能有一些事情要做,但实际上并没有使应用程序崩溃.最后两行可能是原因还是原因?
有帮助吗?
经过大量的点击和尝试后得到了解决方案。只需更改一下流地址就可以了。
从:
const string Stream = "rtsp://admin:xxxx@192.168.0.101/";
Run Code Online (Sandbox Code Playgroud)
到:
const string Stream = "rtsp://admin:xxxx@192.168.0.101/ch1-s1?tcp";
Run Code Online (Sandbox Code Playgroud)
不知道,它做了什么改变?
但它工作完美!
甚至还有以下形式的普遍警告:
[h264 @ 0x15e6f60] error while decoding MB 59 31, bytestream (-20)
[h264 @ 0x15e8200] error while decoding MB 61 27, bytestream (-3)
Run Code Online (Sandbox Code Playgroud)
消失了。
无论如何,如果有人能解释其背后的逻辑原因,我将不胜感激。
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |