CarGuo / GSYVideoPlayer

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,16k page size,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
https://juejin.cn/user/817692379985752/posts
Apache License 2.0
20.17k stars 4.19k forks source link

播放点播视频,也添加了请求头,开启了缓存,为什么播放不了呢?直接用ijkplayer是可以播放的 #539

Closed ZINK-FU closed 6 years ago

ZINK-FU commented 6 years ago

url http://tx.acgvideo.com/8/b4/18607447-1.mp4?txTime=1509283099&platform=pc&txSecret=629a2cd0354c80d10cd629195175ab89&oi=2071884282&rate=1000&hfb=b99ffc3c5c68f00a33123bb25f882d5b

请求头: Map<String, String> headerMap = new HashMap<>(2); headerMap.put("User-Agent", "358239058800931"); headerMap.put("Referer", "http%3A%2F%2Fwww.bilibili.com");

log如下 10-29 19:37:35.764 21715-21772/com.metro.video W/tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder 10-29 19:37:35.764 21715-21772/com.metro.video D/IJKMEDIA: IjkMediaPlayer_prepareAsync 10-29 19:37:35.764 21715-21772/com.metro.video D/IJKMEDIA: ijkmp_prepare_async() 10-29 19:37:35.764 21715-21772/com.metro.video I/IJKMEDIA: ===== versions ===== 10-29 19:37:35.764 21715-21772/com.metro.video I/IJKMEDIA: ijkplayer : k0.8.1-62-ge1d04bd 10-29 19:37:35.764 21715-21772/com.metro.video I/IJKMEDIA: FFmpeg : ff3.3--ijk0.8.0--20170829--001 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: libavutil : 55.58.100 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: libavcodec : 57.89.100 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: libavformat : 57.71.100 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: libswscale : 4.6.100 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: libswresample: 2.7.100 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: ===== options ===== 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: player-opts : loop = 1 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: format-opts : ijkapplication = -1702344960 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: format-opts : ijkiomanager = -1480268800 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: format-opts : headers = User-Agent:358239058800931 Referer:http%3A%2F%2Fwww.bilibili.com%2Fvideo&http%3A%2F%2Fwww.sina.com&http%3A%2F%2Fm.weibo.cn&http%3A%2F%2Fwww.365yg.com&http%3A%2F%2Fwww.acfun.cn 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: format-opts : protocol_whitelist = async,cache,crypto,file,http,https,ijkhttphook,ijkinject,ijklivehook,ijklongurl,ijksegment,ijktcphook,pipe,rtp,tcp,tls,udp,ijkurlhook,data 10-29 19:37:35.765 21715-21772/com.metro.video I/IJKMEDIA: =================== 10-29 19:37:35.766 21715-21772/com.metro.video D/IJKMEDIA: ijkmp_prepare_async()=0 10-29 19:37:35.767 21715-21780/com.metro.video I/IJKMEDIA: SDL_RunThread: [21780] ff_msg_loop 10-29 19:37:35.767 21715-21780/com.metro.video D/IJKMEDIA: message_loop 10-29 19:37:35.767 21715-21780/com.metro.video D/IJKMEDIA: FFP_MSG_FLUSH: 10-29 19:37:35.768 21715-21781/com.metro.video I/IJKMEDIA: SDL_RunThread: [21781] ff_vout 10-29 19:37:35.768 21715-21782/com.metro.video I/IJKMEDIA: SDL_RunThread: [21782] ff_read 10-29 19:37:35.768 21715-21782/com.metro.video E/IJKMEDIA: 项目测试视频: No such file or directory 10-29 19:37:35.768 21715-21782/com.metro.video I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [21782] 10-29 19:37:35.769 21715-21780/com.metro.video D/IJKMEDIA: FFP_MSG_ERROR: 0 10-29 19:37:35.769 21715-21772/com.metro.video E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0) @CarGuo 大神有空帮看看吗?

CarGuo commented 6 years ago

我用ijkplayer的demo播放也是403。你确实这个header可以播放?如果要cache也支持头的话,需要用最新的版本2.1.1。2.1.1之前的版本开启缓存是不支持header的,需要关闭缓存。 现在看到的问题是403校验不过