ksvc / KSYMediaPlayer_Android

金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode
http://v.ksyun.com/
Apache License 2.0
853 stars 246 forks source link

为什么。KSYTextureView getVideoWidth() getVideoHeight() 是相反的 #197

Open WuGang128 opened 6 years ago

WuGang128 commented 6 years ago

视频录制是竖屏。 高比宽大。 播放时获取视频宽高正好相反了

FirmianaRain commented 6 years ago

手机录制的视频? 可能是看着是竖屏录制,实际是横屏的,MetaData里有旋转角度信息

WuGang128 commented 6 years ago

是通过 getRotation 这个方法拿到旋转信息吗? 我拿到的是0.0 没有选择

WuGang128 commented 6 years ago

@FirmianaRain

FirmianaRain commented 6 years ago

能提供下视频源吗

WuGang128 commented 6 years ago

private IMediaPlayer.OnPreparedListener mOnPreparedListener = new IMediaPlayer.OnPreparedListener() { @Override public void onPrepared(IMediaPlayer mp) { // Set Video Scaling Mode float videoWidth = textureView.getVideoHeight(); float videoHeight = textureView.getVideoWidth(); MediaInfo mediaInfo = mp.getMediaInfo(); float rotation = textureView.getRotation();

        float screenWidth = ScreenUtils.getScreenWidth(VideoPlayActivity.this);
        float screenHeight = ScreenUtils.getScreenHeight(VideoPlayActivity.this);
WuGang128 commented 6 years ago

视频是用手机自带相机录制的

FirmianaRain commented 6 years ago
textureView.getRotation()

这个方法是Android的View这个类提供的方法,并不是SDK提供的方法,混淆了View的旋转角度和视频的旋转角度这两个个概念 手机自带相机录制的视频一般都是这样,录制时竖屏,实际内容是横屏但带有旋转角度信息,播放时会处理旋转角度信息,竖屏播放,但实际的视频宽高是宽大于高 如果你会使用ffmpeg可以用ffprobe看下这个视频

WuGang128 commented 6 years ago

非常感谢解答。我使用的是金山云的视频播放 怎么样能看到真实的 宽高旋转角度呢