4 D       D                )                 O   O     E D    {       {         ! "# $%& '()*+,-. /012345@> 6@ 78 9 : ; <=P > ? @ AD BC DE F GHۺ IJ KL KM N O PQ RS KT UVW X YZ [ \d ]^_` ab acd efghi j Gkl mnopq rs tulogLorg/slf4j/Logger;()VCodeLineNumberTableLocalVariableTablethis+Lcom/bcxin/sync/common/utils/HuaweiIvmUtil;getAccessToken(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/bcxin/sync/service/RedisCache;)Ljava/lang/String;valueLjava/lang/Object;tokenLjava/lang/String;hostuserIdaksk redisCache#Lcom/bcxin/sync/service/RedisCache;keyparamMapLjava/util/Map;result resultObj!Lcom/alibaba/fastjson/JSONObject;LocalVariableTypeTable5Ljava/util/Map; StackMapTablevwxMethodParameters getDeviceListH(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;resultObj_offset result_offsetiIpagetotal accessToken resultListLjava/util/List;5Ljava/util/List;y Signaturem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;deleteDeviceRecordPlan](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZdeviceId channelId channelListchannelGLjava/util/List;>;setDeviceRecordPlank(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V nextStartTimeLjava/util/Date;endTime startTime timeSectiondstartDayOfWeek endDayOfWeekstartStrendStrplanListplantimeSectionList deleteSuccessZ startTimeList endTimeList"Ljava/util/List;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)VgetPlaybackByDeviceId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;cloud_trans_connectionsplayback_connectionsurlplayUrl getHeaderMap#(Ljava/lang/String;)Ljava/util/Map; headerMap5Ljava/util/Map;I(Ljava/lang/String;)Ljava/util/Map; getByUnicode&(Ljava/lang/String;)Ljava/lang/String;hexStrcC unicodeStrpatternLjava/util/regex/Pattern;matcherLjava/util/regex/Matcher;sbLjava/lang/StringBuffer;z{convertStreamToMp4'(Ljava/lang/String;Ljava/lang/String;)Zbitrate sampleRate rawTimestampJadjustedTimestampaudioTimestampeLjava/lang/Exception;widthheight audioChannels frameRateDtimestampManager.Lcom/bcxin/sync/common/utils/TimestampManager;frameLorg/bytedeco/javacv/Frame;recordingTimeout frameCountinputUrl outputPathgrabber(Lorg/bytedeco/javacv/FFmpegFrameGrabber;recorder)Lorg/bytedeco/javacv/FFmpegFrameRecorder; !E|V}main([Ljava/lang/String;)Vargs[Ljava/lang/String; SourceFileHuaweiIvmUtil.java  获取华为云IVM账户的token~ java/lang/StringBuilder"data-sync:huawei:ivm:access-token:   java/util/HashMapw  force_update /v2/v N/enterprises/access-tokenx  .获取华为云IVM账户的token,结果:{} fail 4com/bcxin/sync/common/exception/GetResponseException登录失败,fail   access_token  N   登录失败,msg获取华为云IVM设备列表java/util/ArrayList/v1//devices?limit=1000&offset=0 HI ,获取华为云IVM设备列表,结果:{}  devices !com/bcxin/sync/dtos/ivm/DeviceDto y /devices?limit=1000&offset= 2获取华为云IVM设备列表,结果对象:{}T根据设备id,通道id,批量删除路线计划,设备id:{},通道id:{}  device_id channel_id channels/devices/channels/record-planL根据设备id:{},通道id:{},批量删除路线计划,结果:{}java/lang/Object  failed_numa根据设备id,设置通道录像计划,设备id:{},开始时间:{},结束时间:{})根据设备id:{},获取通道id:{}  %&  G根据设备id:{},获取通道id:{},计划录像时间不为空 java/util/Date   all_day 根据设备id,设置通道录像计划,设备id:%s,开始时间:%s,结束时间:%s,结束时间不能小于开始时间  HH:mm:ss  day_of_week start_timeend_time23:59:5900:00:00 time_sectionsplansL根据设备id,设置通道录像计划,设备id:{},参数plans:{} G根据设备id,设置通道录像计划,设备id:{},结果:{}H根据设备id,设置通道录像计划,设备id:{},设置成功H根据设备id,设置通道录像计划,设备id:{},设置失败D根据设备id:{},获取通道id:{},计划录像时间为空g根据设备id,获取华为云IVM回放地址,设备id:{},开始时间:{},结束时间:{} /devices/ /channels/B/media/playback-connections?playback_protocol=HTTP_HLS&start_time= %20  &end_time=4&record_position=CLOUD&expire_time=86400&use_times=1u根据设备id,获取华为云IVM回放地址,设备id:{},开始时间:{},结束时间:{},结果:{}  playback_url MN回放地址:{} Access-Token\\u([0-9a-fA-F]{4})z  Ujava/lang/StringBuffer{      &org/bytedeco/javacv/FFmpegFrameGrabber rtsp_transporttcp stimeout5000000尝试连接源流: 成功连接源流    视频信息: x@ fps音频通道: 'org/bytedeco/javacv/FFmpegFrameRecorder mp4 async1000 vsync0use_wallclock_as_timestamps1avoid_negative_ts make_zero"org/bytedeco/ffmpeg/global/avcodec movflags +faststartcrf23presetfast  !org/bytedeco/ffmpeg/global/avutil         启动MP4记录器...记录器成功启动,com/bcxin/sync/common/utils/TimestampManager   录制超时,自动停止|  a   &已处理 {} 视频帧 [时间戳: {}]   java/lang/Exception处理帧时出错: {}  -22     8录制结束! 共处理 {} 视频帧,录制结果:{}清理资源...  关闭记录器失败: {}关闭抓取器失败: {}发生错误: {}  !https://api-ivm.myhuaweicloud.com5994908220250519164352 49b1d40f0870594e34e522db834233ca@5f256aefd57261ae8fde307fd4547c6dcfc0cc9b091be83f0f90cb6a216bc96f token= 440000000013200002022025-06-11 06:00:002025-06-11 08:30:00 BC)com/bcxin/sync/common/utils/HuaweiIvmUtil java/lang/String java/util/Mapcom/alibaba/fastjson/JSONObjectjava/util/Listjava/util/regex/Patternjava/util/regex/Matcherorg/bytedeco/javacv/Framejava/lang/Throwableorg/slf4j/Loggerinfo(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;!com/bcxin/sync/service/RedisCachegetCacheObject&(Ljava/lang/String;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;concat toJSONString&(Ljava/lang/Object;)Ljava/lang/String;$com/bcxin/sync/common/utils/HttpUtilpostH(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Z)Ljava/lang/String;'(Ljava/lang/String;Ljava/lang/Object;)Vequals(Ljava/lang/Object;)Z(ILjava/lang/String;)V parseObject5(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject; containsKey getStringjava/lang/Integer(I)Ljava/lang/Integer;java/util/concurrent/TimeUnitMINUTESLjava/util/concurrent/TimeUnit;setCacheObjectY(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Integer;Ljava/util/concurrent/TimeUnit;)Vget6(Ljava/lang/String;Ljava/util/Map;Z)Ljava/lang/String; getInteger'(Ljava/lang/String;)Ljava/lang/Integer;intValue()I getJSONArray4(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray;com/alibaba/fastjson/JSONArray toJavaList#(Ljava/lang/Class;)Ljava/util/List;addAll(Ljava/util/Collection;)Z(I)Ljava/lang/StringBuilder;9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Vadd((Ljava/lang/String;[Ljava/lang/Object;)V$org/apache/commons/lang3/StringUtils isNotBlank(Ljava/lang/CharSequence;)Z(cn/hutool/core/collection/CollectionUtil isNotEmptysize(I)Ljava/lang/Object;before(Ljava/util/Date;)Zset'(ILjava/lang/Object;)Ljava/lang/Object;removeafterformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;$com/bcxin/sync/common/utils/DateUtilgetWeekDayOfDate(Ljava/util/Date;)Icn/hutool/core/date/DateUtil6(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String;replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; getJSONObjectcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find()Zgroup(I)Ljava/lang/String;parseInt(Ljava/lang/String;I)I(C)Ljava/lang/String;appendReplacementE(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher; appendTail2(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer; setOption'(Ljava/lang/String;Ljava/lang/String;)Vstart getImageWidthgetImageHeightgetAudioChannels getFrameRate()D(D)Ljava/lang/StringBuilder;(Ljava/lang/String;III)V setFormatsetVideoOption setVideoCodec(I)V setFrameRate(D)V setGopSizesetPixelFormatgetVideoBitratesetVideoBitratejava/lang/Mathmin(II)I setAudioCodecsetAudioChannelssetAudioBitrate getSampleRate setSampleRatejava/lang/SystemcurrentTimeMillis()Jgrab()Lorg/bytedeco/javacv/Frame;image[Ljava/nio/Buffer; timestampgetNextVideoTimestamp setTimestamp(J)Vrecord(Lorg/bytedeco/javacv/Frame;)Vjava/lang/Long(J)Ljava/lang/Long;samplesgetNextAudioTimestamp(I)J getMessageerrorcontainsresetjava/lang/ThreadsleepcloseprintStackTraceoutLjava/io/PrintStream;java/io/PrintStreamprintlnorg/slf4j/LoggerFactory getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;!D /*    Y+ : :  Y :,W-WW*+:Y: !% ":  #$% YY&'" V  $!-"2#8&A'L(W)e+,-/124568;p -   A  z P  A 8j/ R ()Y*N*++,,-.:/:0!0120126-34567Wl66t*++8Y9: ,-.:  4 :  0!# 012- 34567W;--bF GI"J&I+K7LAMHN_PkQ~RTUVWVXYZ[U bcp * ; x{kH  +  !7 "q" #$ %& <-= Y :)Y*: Y :>-W?W@WAW*++B,-:CDY-SYSYSE#:  F! F12F (3?IUfnsf   '(  ) (* sH   )+(*$ "'( ,-0nGDY-SYSYSE-:H-=I<*+,-J6CDY-SYSYSEKKLLM-=6LANO: dNO:   P :  QWLd6CNO: NO:   PRWRW Y :)Y*: Y :  >-W ?W SW)Y*: 6  LD NO:  NO: T%YUDY-SYSYSV W6W6 XY:XY:@ Y :Z#W[W\W @W6 Y :Z#W[W\]W=[^W\W[^W\]W @Wx  _ W  @W` Wa- =*++B,-b: c- = / :  F! F12d-e-f-=:N,4?^hp#)2;DO[ir *-8APWcry &-DOR]`m.*./ 0/ J,1/ 0/ E12 Au2 13-1/ 0/4567uM -"  2+  ;"8 D9 r: N  ?.;<nnnn'n= n> O(R12Au22+ ;"8+ D9 r:+ n=?n>?C >K """"S@@c""""@@@! """" "" '=>#A BC gDY-SYSYSE*+h-ijklmnklmo:,-.:pDY-SYSYSYSE9: K:  q!+ qr:  s! sr:  t"u: v  F1Dbn! D E A  '(10bFny TG - '(10 HIb Y L+w*W++,- J   JK#L MNExyL+*zM{Y|N,}",~:6,-W,-W-* 67 89:";,<7=:>@?>"O, PQER?ST 9UV1WXYZ[%R \]=N:Y*N--Y* --6-6-6-9Y:: Y: Y+:k----hh6  .-6  6  ²ùY-: 7 76-Y: Ǹ eʹ= M 7 77 dp#ѹ=) ! -7 ϧc:ضٙ ۸ݧ5#=߹:--::=߹:--f:P:߹:--: ad!4<?U UaknUWUsHIJMPQ T;U?VIYOZU[[\a^_behijknopqr#s/v5y<zH}U~afmt{ $8HSZadfw !#48<?ARUafknpU ^ _ =`a6baScaf)deOVfUPg[JhaDijkl mn 1a oapdedede#deAdepdedeqr <stuv " wxx wxx'(2wxy$wxyz$)%B{*&wxB{B{U{-B{B{U|wx|B{B{wx qr }~CLMN:+,-:Y +,W"  2B>C@= : 6+!