befovy / fijkplayer

ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
https://fijkplayer.befovy.com
MIT License
1.63k stars 341 forks source link

在IOS上播放Hevc(H265)格式的视频卡顿 #528

Closed mifeng9999 closed 1 year ago

mifeng9999 commented 2 years ago

视频卡顿,声音和视频不能同步。(我看了下CPU在300%,内存使用在1G以上)(测试机型iphone12)在真机上不行,模拟器是可以的。 视频地址:https://vkceyugu.cdn.bspapp.com/VKCEYUGU-ab498c51-8871-421b-8e23-a43eaa306dff/236d2569-2562-436d-87ca-9dec381a3fa0.m3u8 日志: ***TiercelLog**** Source : SessionManager.swift[235] Thread : number = 1 identifier : com.zl.zlzlzl.flutter_yumei_downloader Info : [manager] retrieveTasks, tasks.count: 0 rootPath:/var/mobile/Containers/Data/Application/BED88762-410F-48B1-82C3-DEFC86A396B4/Library/Caches/m3u8yumeis flutter: setup:true flutter: [inf] 2022-06-08 21:29:19.237493 [fijk] FijkPlayer{id:1} invoke reset #1 flutter: [inf] 2022-06-08 21:29:19.239279 [fijk] FijkPlayer{id:1} invoke reset #1 -> done flutter: [inf] 2022-06-08 21:29:19.239802 [fijk] FijkPlayer{id:1} setOption k:mediacodec-hevc, v:1 flutter: [inf] 2022-06-08 21:29:19.240 [fijk] FijkPlayer{id:1} setOption k:mediacodec, v:1 flutter: [inf] 2022-06-08 21:29:19.240128 [fijk] FijkPlayer{id:1} setOption k:mediacodec-all-videos, v:1 flutter: [inf] 2022-06-08 21:29:19.240602 [fijk] FijkPlayer{id:1} invoke setDataSource https://vkceyugu.cdn.bspapp.com/VKCEYUGU-ab498c51-8871-421b-8e23-a43eaa306dff/236d2569-2562-436d-87ca-9dec381a3fa0.m3u8 flutter: [inf] 2022-06-08 21:29:19.240945 [fijk] FijkPlayer{id:1} state changed to FijkState.initialized <= FijkState.idle flutter: FijkState.initialized flutter: [inf] 2022-06-08 21:29:19.241767 [fijk] FijkPlayer{id:1} invoke prepareAsync ===== versions ===== ijkplayer : f0.7.16 FFmpeg : ff4.0--ijk0.8.8--20211030--926 libavutil : 56.14.100 libavcodec : 58.18.100 libavformat : 58.12.100 libswscale : 5.1.100 libswresample: 3.1.100 ===== options ===== player-opts : overlay-format = fcc-bgra player-opts : start-on-prepared = 0 player-opts : enable-position-notify = 1 player-opts : videotoolbox = 1 player-opts : reconnect = 5 player-opts : mediacodec-hevc = 1 player-opts : mediacodec = 1 player-opts : mediacodec-all-videos = 1 format-opts : ijkapplication = 4376572544 format-opts : ijkiomanager = 4376498288 format-opts : analyzeduration = 1

flutter: [inf] 2022-06-08 21:29:19.242582 [fijk] FijkPlayer{id:1} state changed to FijkState.asyncPreparing <= FijkState.initialized flutter: FijkState.asyncPreparing ption ijk-http-error not found. Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate Consider increasing the value for the 'analyzeduration' and 'probesize' options max_frame_duration: 10.000 Input #0, hls,applehttp, from 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-ab498c51-8871-421b-8e23-a43eaa306dff/236d2569-2562-436d-87ca-9dec381a3fa0.m3u8': Duration: 00:47:46.88, start: 1.560000, bitrate: 0 kb/s Program 0 Metadata: variant_bitrate : 0 Stream #0:0: Video: hevc (HEVC / 0x43564548), yuv420p(tv), 3840x1616, 25 fps, 25 tbr, 90k tbn, 25 tbc Metadata: variant_bitrate : 0 Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp Metadata: variant_bitrate : 0 AVDRegister - AppleAVD HEVC codec registered AVDRegister - AppleAVD H264 codec registered AVDRegister - AppleAVD Leghorn codec registered could not init video tool box decoder !!!vtb fail!!! switch to ffmpeg decode!!!! VideoCodec: avcodec, hevc 2 fps: 25.000000 (normal) flutter: FijkState.asyncPreparing

yangyxd commented 1 year ago

android 真机播放也会出现声音卡顿,音画不同步的问题。

WuShengXi commented 1 year ago

ios掉帧验证

mifeng9999 commented 1 year ago

IOS掉帧验证?是什么意思?怎么操作?🥹

WuShengXi commented 1 year ago

IOS掉帧验证?是什么意思?怎么操作?🥹

打错字了 是掉帧 https://rmt-anning-hz-file.vcdn.kmzscc.com/anningrongmei/anningrongmei/2023/05/04/BxTDmA2hBEu40.mp4 是因为编码的问题嘛 视频这块不是太懂

WuShengXi commented 1 year ago

IOS掉帧验证?是什么意思?怎么操作?🥹

android 这块播放的很流畅