cytle / wechat_web_devtools

微信开发者工具(微信小程序)linux完美支持
2.68k stars 429 forks source link

wx.chooseVideo 调用失败 #270

Open palytoxin opened 5 years ago

palytoxin commented 5 years ago

OS: 4.19.66-1-MANJARO git HEAD: 2019-08-19 21:07 <v1.02.1907300> 1.02.1907300 wine 4.13-1

目前经过测试,除了wx.chooseVideo 外功能均正常使用。

wx.chooseVideo 返回错误 chooseVideo:fail DECODER_ERROR_NOT_SUPPORTED: video decoder initialization failed 测试视频 https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4

同样功能,同样视频。在macos上返回结果为 31950163

测试代码

wx.chooseVideo({
  sourceType: ['album','camera'],
  maxDuration: 60,
  camera: 'back',
  success(res) {
    console.log(res.tempFilePath)
  },
  fail(err) {
    console.log(err)
  },
})
cytle commented 5 years ago

wine 只用于wxss和wxml的编译,你可以看看是不是系统不支持,造成nwjs的api调用失败。

palytoxin commented 5 years ago

目前系统是可以正常播放x264视频

cli的报错

[7576:7893:0824/093351.163081:ERROR:render_media_log.cc(27)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"video decoder initialization failed"}
[7576:7576:0824/093351.163232:ERROR:render_media_log.cc(27)] MediaEvent: PIPELINE_ERROR DECODER_ERROR_NOT_SUPPORTED

vainfo

➜  ~ vainfo
vainfo: VA-API version: 1.5 (libva 2.5.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.3.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD
➜  ~ vdpauinfo
display: :0   screen: 0
API version: 1
Information string: OpenGL/VAAPI backend for VDPAU

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
422     4096  4096  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
444     4096  4096  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                   --- not supported ---
MPEG2_MAIN                     --- not supported ---
H264_BASELINE                  51 16384  2048  2048
H264_MAIN                      51 16384  2048  2048
H264_HIGH                      51 16384  2048  2048
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                   --- not supported ---
MPEG4_PART2_SP                 --- not supported ---
MPEG4_PART2_ASP                --- not supported ---
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      51 16384  2048  2048
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      --- not supported ---
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y
R8G8B8A8         16384 16384    y
R10G10B10A2      16384 16384    y
B10G10R10A2      16384 16384    y
A8               16384 16384    y

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              -
VIDEO_SURFACE_HEIGHT             -
CHROMA_TYPE                      -
LAYERS                           -

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 -
CSC_MATRIX                       -
NOISE_REDUCTION_LEVEL            -
SHARPNESS_LEVEL                  -
LUMA_KEY_MIN_LUMA                -
LUMA_KEY_MAX_LUMA                -
palytoxin commented 5 years ago

目前发现创建的

palytoxin commented 5 years ago

在nwjs中找到了一样的报错,https://github.com/nwjs/nw.js/issues/6834 目前怀疑可能是ffmpeg.dll 没有打包到nw的问题

http://docs.nwjs.io/en/latest/For%20Developers/Enable%20Proprietary%20Codecs/

palytoxin commented 5 years ago

目前从https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases 下载了0.39.2-linux-x64.zip 替换掉 dist/lib下的libffmpeg.so 文件,上面功能就正常了

sep2 commented 4 years ago

目前从https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases 下载了0.39.2-linux-x64.zip 替换掉 dist/lib下的libffmpeg.so 文件,上面功能就正常了

good, 现在最新的好像用的是nw.js 0.38.0 版本,符合的只有 https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/tag/0.38.4 下载了替换掉就可以查看视频了