[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"solution-scenes-menu":3,"tech-detail-2369":4},true,{"id":5,"title":6,"content":7,"picUrl":8,"tagIds":9,"keyWords":10,"htmlDescribe":11,"htmlUrl":12,"gmtCreate":13,"gmtModified":13,"articleInfoId":14},"2369","美畅物联丨如何通过ffmpeg排查视频问题","\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F0bd97926-6ff8-4eaa-a1cd-0d61a2473379.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">在我们日常使用畅联AIoT开放云平台的过程中，摄像机视频无法播放是较为常见的故障。尤其是当碰到摄像机视频不能正常播放的状况时，哪怕重启摄像机，也仍然无法使其恢复正常的工作状态，这着实让人感到头疼。这个时候，可以借助FFmpeg程序来辅助进行判断，从而准确找出究竟是什么原因导致了视频播放异常。\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002Fa195aeb5-9189-486f-8214-d973a4925ebb.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">FFmpeg是一款在多媒体处理领域声名远扬的开源工具，其功能覆盖视频处理的众多方面，在视频问题排查工作里起着不可替代的重要作用。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">首先，要执行拉取摄像机RTSP流并将其存储至本地的操作。RTSP（实时流传输协议）是一种在流媒体传输领域广泛应用的网络协议，能够有效地获取摄像机的实时视频流。在拉取流时，我们通过拉流命令：\u003C\u002Fp>\u003Cpre>\u003Ccode>FFmpeg -rtsp_transport tcp -\ni rtsp:\u002F\u002Fadmin:mkls1123@192.168.1.223\u002FStreaming\u002FChannels\u002F102 -f avi -y .\u002F123.avi\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp style=\"text-indent:2em;text-align:justify\">当拉流操作执行后，FFmpeg 会生成详细的日志信息，通过 FFmpeg 打印出的日志内容，我们能够逐步剖析问题所在之处。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:justify\">以常见的拉流场景为例，如图所示：\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002Fc02341f6-3bf1-4f51-bc16-35c57d0c591b.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">若拉流过程中打印出 401 错误信息，依据网络通信协议规范，此错误明确指示出用户名和密码验证环节出现故障，即所使用的用户名和密码组合与摄像机设备的授权信息不匹配。在这种情形下，我们需及时修正用户名和密码为正确信息，随后再次执行拉流命令，以验证问题是否得以解决。\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F12a61239-5788-4c33-9204-0261275c56a1.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:justify\">当成功拉取到视频流后，从所呈现的信息中可以看到，此视频流的视频格式被为 “Video: h264 (Main), yuvj420p (pc, bt709, progressive), 1280x720, 25 fps, 25 tbr, 90k tb”。其中，“h264 (Main)” 表示视频采用了 H.264 编码标准。“yuvj420p (pc, bt709, progressive)” 则涉及到视频的色彩空间和采样格式，“1280x720” 代表视频的分辨率，“25 fps” 表示视频的帧率，“25 tbr” 和 “90k tb” 则分别涉及到视频的时间基准和目标码率等参数。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:justify\">音频格式为 “Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb\u002Fs”。其中，“pcm_alaw” 为音频的编码格式，“8000 Hz” 代表音频的采样率，“mono” 表示音频为单声道模式，“s16” 涉及音频的采样精度，而 “64 kb\u002Fs” 则为音频的码率，这些音频参数共同决定了音频的质量和传输要求。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:justify\">在对视频流信息进行深入分析时，需着重关注最后一行的打印内容。\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002Fe7ccf1c1-9a29-4f59-8516-59e0c3f19924.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">其中，fps（帧率）参数对于判断拉流的稳定性具有极为关键的参考价值。在正常播放状态下，拉流过程中所呈现的实时 fps 数值与视频格式中所标注的标准 fps 数值应当近似。\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F57384164-c2a4-4eae-8110-9b6db9a9b650.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F3957d784-d510-4220-8cad-72cd314dabb7.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">一旦出现如附图所示，拉流的 fps 数值与视频格式中的 fps 数值存在显著差异时，这便表示视频流处于不稳定的状态。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">当视频流不稳定的状况出现时，我们可以登录至摄像机的管理页面进行详细查看。以海康摄像机为例，进入其管理界面后，能够直观地获取与拉流相关的各类信息。如附图中所示：\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F8c7403b4-24b6-4f13-8928-32c5650d0a23.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">发现拉流用户数量多达 4 个，过多的拉流用户会导致网络资源被分散占用，使得每个用户所分得的带宽和系统资源相对减少，从而影响视频流的稳定传输。\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">除了检查拉流用户数量之外，还需对网络带宽情况进行全面排查。当网络带宽被大量占用，趋近于饱和状态时，会导致视频播放出现卡顿、延迟甚至无法播放等异常现象。\u003C\u002Fp>\u003Cp style=\"text-align:center\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F716f898b-16cd-4ddb-a5be-900c5270ea24.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-indent:2em;text-align:left\">通过借助 FFmpeg 进行的排查操作，我们能够较为便捷地锁定问题所在之处。倘若经过 FFmpeg 的详尽检测，各项参数及指标均显示正常，而视频播放问题依旧存在，那么此时便可以将之前保存好的视频文件，联系相关技术团队进行深度技术排查，从而找出问题。\u003C\u002Fp>\u003Cp style=\"text-align:justify\">————————————————\u003C\u002Fp>\u003Cp>\u003Cspan style=\"color:rgb(0, 0, 0);background-color:rgb(255, 255, 255);font-size:16px\">关注\u003C\u002Fspan>\u003Cspan style=\"color:rgb(66, 144, 247);background-color:rgb(255, 255, 255);font-size:16px\">\u003Cstrong>“美畅物联”\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cspan style=\"color:rgb(0, 0, 0);background-color:rgb(255, 255, 255);font-size:16px\">，了解更多视频汇聚及AIoT底座解决方案。\u003C\u002Fspan>\u003C\u002Fp>","https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F11\u002F28\u002F7b6950c4-4be4-4416-8652-65c4fba219eb.jpg","9","美畅，美畅物联，畅联，畅联云平台，视频监控云平台，云视频监控，视频云平台，视频开放平台，视频感知云，视频接入网关，AIoT综合接入网关，视频中台，物联网中台，无插件播放，H265播放，Ehome，ISUP， GB28181，GB35114，gat1400，JT808，JT1078","原创技术分享丨美畅物联向工","http:\u002F\u002Fwww.24hlink.cn\u002Fweb-index\u002FUKTKWW4.html","2024-11-28 14:48:11","795"]