Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >「踩坑实录」一个让我调试4小时的 dolomite-base 安装问题

「踩坑实录」一个让我调试4小时的 dolomite-base 安装问题

作者头像
用户11414625
发布于 2025-02-25 01:00:50
发布于 2025-02-25 01:00:50
15400
代码可运行
举报
文章被收录于专栏:生信星球520生信星球520
运行总次数:0
代码可运行

这个包是celldex的依赖项,而celldex则是singler的配套参考数据包。所以我们安装celldex就会自动安装他。

省流提示:解决问题最终成功的尝试是2.3,其他步骤不需要操作了。但可以从中学习一下都有啥可以干的,毕竟谁也没有上帝视角,不知道哪个尝试会有效嘛。

希望你看到这些报错和尝试不要害怕,产生畏难情绪,其实难度都在我这里,展示这个过程是为了做记录,学方法。以后有不是我教的内容,才会需要自己配置环境的,如果是我教的,我会负责

1.构建wheel非常慢,然后报错

Wheel 是 Python 的一种预编译包格式,文件扩展名为 .whl。它是 Python 打包机制的一个重要组成部分,可以看作是一个"ready-to-install"(即开即用)的包格式。

正常情况下pip install 会自动完成编译的工作,但这次遇到了报错。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 error: command '/tmp/pip-build-env-upbakww0/overlay/bin/cmake' failed with exit code 2
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for dolomite_base
Failed to build dolomite_base
ERROR: Failed to build installable wheels for some pyproject.toml based projects (dolomite_base)

估计是ubuntu缺什么零件。pip install -v 可以显示详细日志,便于排查问题,报错如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  cmake -S lib -B build/temp.linux-x86_64-cpython-311 -Dpybind11_DIR=/tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/pybind11/share/cmake/pybind11 -DPYTHON_EXECUTABLE=/home/bio02/miniconda3/envs/sc3/bin/python3.11 -DCMAKE_BUILD_TYPE=Release -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-8pmbmqc6/dolomite-base_ed6d850d5123490f96c1ae0aa089c8fa/build/lib.linux-x86_64-cpython-311/dolomite_base
  -- The CXX compiler identification is GNU 9.4.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
  -- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX)
  -- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX)



  [ 11%] Creating directories for 'chihaya-populate'
  [ 22%] Performing download step (git clone) for 'chihaya-populate'
  Cloning into 'chihaya-src'...
  fatal: unable to access 'https://github.com/ArtifactDB/chihaya/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  Cloning into 'chihaya-src'...
  error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  fatal: the remote end hung up unexpectedly
  Cloning into 'chihaya-src'...
  fatal: unable to access 'https://github.com/ArtifactDB/chihaya/': Failed to connect to github.com port 443: Connection timed out
  Had to git clone more than once: 3 times.
  CMake Error at chihaya-subbuild/chihaya-populate-prefix/tmp/chihaya-populate-gitclone.cmake:50 (message):
    Failed to clone repository: 'https://github.com/ArtifactDB/chihaya'


  make[2]: *** [CMakeFiles/chihaya-populate.dir/build.make:102: chihaya-populate-prefix/src/chihaya-populate-stamp/chihaya-populate-download] Error 1
  make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/chihaya-populate.dir/all] Error 2
  make: *** [Makefile:91: all] Error 2

  CMake Error at /tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/cmake/data/share/cmake-3.31/Modules/FetchContent.cmake:1918 (message):
    Build step for chihaya failed: 2
  Call Stack (most recent call first):
    /tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/cmake/data/share/cmake-3.31/Modules/FetchContent.cmake:1609 (__FetchContent_populateSubbuild)
    /tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/cmake/data/share/cmake-3.31/Modules/FetchContent.cmake:2145:EVAL:2 (__FetchContent_doPopulation)
    /tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/cmake/data/share/cmake-3.31/Modules/FetchContent.cmake:2145 (cmake_language)
    /tmp/pip-build-env-asv1jvd9/overlay/lib/python3.11/site-packages/cmake/data/share/cmake-3.31/Modules/FetchContent.cmake:2384 (__FetchContent_Populate)
    /tmp/pip-install-8pmbmqc6/dolomite-base_ed6d850d5123490f96c1ae0aa089c8fa/build/temp.linux-x86_64-cpython-311/_deps/takane-src/extern/CMakeLists.txt:23 (FetchContent_MakeAvailable)


  -- Configuring incomplete, errors occurred!


  An error occurred while building the project, please ensure you have the most updated version of setuptools, setuptools_scm and wheel with:
     pip install -U setuptools setuptools_scm wheel


  error: command '/tmp/pip-build-env-asv1jvd9/overlay/bin/cmake' failed with exit code 1
  error: subprocess-exited-with-error

  × Building wheel for dolomite_base (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/bio02/miniconda3/envs/sc3/bin/python3.11 /home/bio02/miniconda3/envs/sc3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmplhya7b20
  cwd: /tmp/pip-install-8pmbmqc6/dolomite-base_ed6d850d5123490f96c1ae0aa089c8fa
  Building wheel for dolomite_base (pyproject.toml) ... error
  ERROR: Failed building wheel for dolomite_base
Failed to build dolomite_base
ERROR: Failed to build installable wheels for some pyproject.toml based projects (dolomite_base)

其实两大段的关键词都是ERROR: Failed building wheel for dolomite_base,编译失败!

2.最终成功的尝试:下载whl,修改后装它

pip页面会提供预编译版本的whl文件,直接使用即可跳过编译的步骤

文件名中包括了python版本和设备的平台。其中ubuntu适用的是manyliux,适用mac的是macos。

遇到3个问题:

1.报错说whl文件不适用当前平台
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 dolomite_base-0.4.2-cp311-cp311-manylinux_1_2_x86_64.whl is not a supported wheel on this platform.ubuntu

解决办法:下载manylinux版本,改文件名,去掉平台名字,加上none-any即可安装!

改名字,真是一个看起来不咋地但有效的行为!

https://blog.csdn.net/yuangan1529/article/details/116696624

改为: dolomite_base-0.4.2-cp311-none-any.whl就可以安装了

2.python3.11对应的最新版本的wheel文件,编译软件与我电脑上的版本不相同

conda list能列出来了,但是import报错!

说编译时使用的glibc版本为2.32,但我的ubuntu最多只能更新到2.31,要求二者一致,因此能安装但import就会报错

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/dolomite_base/lib_dolomite_base.cpython-311-x86_64-linux-gnu.so)

检查glibc版本的办法是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ldd --version

试图更新glibc,发现最新只能到2.31

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install libc6-dev
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eading package lists... Done
Building dependency tree
Reading state information... Done
libc6-dev is already the newest version (2.31-0ubuntu9.17).
libc6-dev set to manually installed.
The following packages were automatically installed and are no longer required:
  libfwupdplugin1 libxmlb1
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

给我整愣住了。不能升级自己电脑上的glibc,那我使用whl的上一个版本吧。

3.安装python3.10对应的whl文件,报错循环导入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 python -c 'import dolomite_base'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/dolomite_base/__init__.py", line 18, in <module>
    from .save_object import save_object, validate_saves
  File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/dolomite_base/save_object.py", line 3, in <module>
    from .validate_object import validate_object
  File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/dolomite_base/validate_object.py", line 3, in <module>
    from . import lib_dolomite_base as lib
ImportError: cannot import name 'lib_dolomite_base' from partially initialized module 'dolomite_base' (most likely due to a circular import) (/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/dolomite_base/__init__.py)

原本想去改miniconda库里的文件,但报错没有权限修改,如果要改其实也可以,就是先chord设置一下权限再改。

但我选择了更安全的方式--whl本质是zip压缩包,所以用7-zip解压,改完代码然后重新压缩,选择压缩类型为zip,命名时后缀写whl,即可正常安装和使用。

按照ai提示修改了两处源代码,解决了其循环导入的问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
通过网盘分享的文件:dolomite_base-0.4.2-cp311-none-any.whl
链接: https://pan.baidu.com/s/1Asaveg9mP1xz9IroZTJDSA?pwd=883m 提取码: 883m 
--来自百度网盘超级会员v5的分享

下载此文件放在工作目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda activate sc2
pip install dolomite_base-0.4.2-cp311-none-any.whl

然后再继续装celldex等,就没有问题了。

3.最终石沉大海的其他尝试

还有各种无用尝试,花了三四个小时。真是个难缠的bug

3.1 退一个版本,安装旧版本的dolomite_base和celldex

但发现,即使已经有了dolomite旧版本,celldex安装时还是会更新他,因为celldex没有指定要求什么版本的dolomite_base,就默认安装最新版!

解决办法是把这两个包的版本都指定好再安装。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install celldex==0.1.1 dolomite_base==0.4.0

但又有新问题,dolomite_base有好几个同系列的包,全体依赖最新版的dolomite_base!所以要退大家一起退吧!

尝试发现,一起退也不行,指定的太多了,其他的包无法解决环境冲突了!我去,流氓软件全家桶!

冲突的表现是有报错,而且运行jupyternotebook里原本调好了的代码会:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 cannot import name 'TatamiNumericPointer' from 'mattress' (/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/mattress/__init__.py)
3.2 试图解决编译环境的问题

跟着ai的提示去装和更新各种编译工具

企图用源码方式装新版的GLIBC2.32,那一大堆报错,我都不知道该咋问,中途放弃。

cmake版本更新成功,但报错信息无任何变化,说明更新了没有用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get install -y software-properties-common lsb-release wget
sudo apt-get remove --purge cmake
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo apt-key add -
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install cmake

gcc 和g++更新,也没有用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get install -y gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100

3.3 试图安装github的版本

方法是从github页面上下载zip,然后解压并cd进去,pip .即可,但是遇到新的问题

说是setuptools-scm无法自动检测版本。AI 提示修改源码,越改问题越多,遂放弃。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 pip install .
Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/
Processing /mnt/c/Users/win10/Desktop/python250208/day7.8/dolomite-base-master
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [46 lines of output]


      An error occurred while building the project, please ensure you have the most updated version of setuptools, setuptools_scm and wheel with:
         pip install -U setuptools setuptools_scm wheel


      Traceback (most recent call last):
        File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
        File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/bio02/miniconda3/envs/sc2/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 304, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 320, in run_setup
          exec(code, locals())
        File "<string>", line 62, in <module>
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 148, in setup
          _setup_distribution = dist = klass(attrs)
                                       ^^^^^^^^^^^^
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 319, in __init__
          _Distribution.__init__(self, dist_attrs)
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 290, in __init__
          self.finalize_options()
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 681, in finalize_options
          ep(self)
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools_scm/_integration/setuptools.py", line 123, in infer_version
          _assign_version(dist, config)
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools_scm/_integration/setuptools.py", line 58, in _assign_version
          _version_missing(config)
        File "/tmp/pip-build-env-3tljex4b/overlay/lib/python3.11/site-packages/setuptools_scm/_get_version_impl.py", line 117, in _version_missing
          raise LookupError(
      LookupError: setuptools-scm was unable to detect version for /mnt/c/Users/win10/Desktop/python250208/day7.8/dolomite-base-master.

      Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

      For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
3.4 h5df 找不到的问题
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  -- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX)
  -- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX)

查看电脑上是否有hdf5及其开发头文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dpkg -l | grep hdf5

如果已经安装了 HDF5 和开发包,应该能看到类似以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ii  libhdf5-103:amd64        1.10.4+repack-10ubuntu1        amd64        Hierarchical Data Format 5 (HDF5) - runtime files
ii  libhdf5-dev              1.10.4+repack-10ubuntu1        amd64        Hierarchical Data Format 5 (HDF5) - development files

如果未安装,就不会输出任何内容。可以通过以下命令安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install libhdf5-dev
3.5 github克隆失败的问题
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[ 11%] Creating directories for 'chihaya-populate'
  [ 22%] Performing download step (git clone) for 'chihaya-populate'
  Cloning into 'chihaya-src'...
  fatal: unable to access 'https://github.com/ArtifactDB/chihaya/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  Cloning into 'chihaya-src'...
  error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  fatal: the remote end hung up unexpectedly
  Cloning into 'chihaya-src'...
  fatal: unable to access 'https://github.com/ArtifactDB/chihaya/': Failed to connect to github.com port 443: Connection timed out
  Had to git clone more than once: 3 times.
  CMake Error at chihaya-subbuild/chihaya-populate-prefix/tmp/chihaya-populate-gitclone.cmake:50 (message):
    Failed to clone repository: 'https://github.com/ArtifactDB/chihaya'

报错信息显示,CMake 使用 FetchContent 模块从 GitHub 克隆依赖库 chihaya 时失败,具体错误如下:

● TLS 连接未正确终止 (GnuTLS recv error (-110) 或 curl 56 GnuTLS recv error (-110))。

● 连接超时 (Failed to connect to github.com port 443: Connection timed out)。

这通常与网络连接或 Git 配置有关。

  1. 使用浏览器直接下载 ZIP 文件** GitHub 提供了直接下载仓库的功能,无需使用 git clone
  2. 打开目标仓库的 GitHub 页面,例如: https://github.com/ArtifactDB/chihaya
  3. 点击页面右上角的绿色按钮 “Code”
  4. 选择 “Download ZIP”,下载完整的仓库代码。
  5. 解压 ZIP 文件后,将代码放置到项目需要的位置。
  6. 在解压后的文件夹里创建一个build文件夹
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmake ..
cmake --build .

但。。。说了石沉大海嘛。没有效果。

4.换台电脑,问题直接消失!

啊呦我去。。。就啥事没有啊!那就用八字不合来解释吧。

5.我看这个包挺不吉利的

https://www.piwheels.org/project/dolomite-base/

上面显示全部编译失败

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
这个Web新API让任何内容都能画中画!
“画中画”(Picture-in-Picture, PiP)说白了,就是让你能一边看视频,一边干别的,互不耽误。就像给你的桌面贴了个能播放视频的“便利贴”,你可以随便拖动它,调整大小,它还总在最前面,贼方便。
Immerse
2025/05/04
1700
这个Web新API让任何内容都能画中画!
Chrome 116:网页画中画 API 来了!
Chrome 116 刚刚发布了正式版本,其中比较值得关注的新增功能就是网页的画中画 API 了(Document Picture in Picture API )。
ConardLi
2023/08/23
9010
Chrome 116:网页画中画 API 来了!
基于Vue.js2.6结合h5来实现视频播放画中画技术(Picture-in-Picture)
    在开发基于vue.js的在线视频教育平台的时候,我们会注意一个小问题,就是如果用户在观看播放视频的同时,也会往下拖动窗口浏览一些评论,这样视频就会被滚动条覆盖,导致用户无法在浏览评论的同时观看视频,同理,如果想边刷微博边追剧怎么办?想边聊微信边看球赛怎么办?
用户9127725
2022/08/08
1.2K0
基于Vue.js2.6结合h5来实现视频播放画中画技术(Picture-in-Picture)
浏览器画中画模式
浏览器画中画模式 浏览器画中画功能允许用户在一个小的叠加窗口中弹出网页中播放的视频 ?,Chrome 版本大于 71 均默认开启该功能。下面简单介绍一下该 API 如何使用 ? 准备工作 首先要有个
JS菌
2019/04/10
3.4K0
浏览器画中画模式
Android开发笔记(一百六十七)Android8.0的画中画模式
前面的博文《Android开发笔记(一百五十九)Android7.0的分屏模式》介绍了Android7.0的多窗口特性,但是这个分屏的区域是固定的,要么在屏幕的上半部分,要么在屏幕的下半部分,不但尺寸无法调整而且还不能拖动,使得它的用户体验不够完美。为此Android8.0又带了另一种更高级的多窗口模式,号称“Picture in Picture”(简称PIP,即“画中画”)。应用一旦进入画中画模式,就会缩小为屏幕上的一个小窗口,该窗口可拖动可调整大小,非常适合用来播放视频。那么如何才能让App支持画中画呢?接下来将对画中画的开发工作进行详细介绍。 经过前面的学习,大家知道Activity默认是支持分屏模式的,当然开发者要给activity节点添加下面的属性描述,从而声明允许分屏也是可以的:
aqi00
2019/01/18
2.5K0
腾讯云音视频播放器又上新啦!短视频秒开组件、加密画中画等功能让音视频播放更专业!
根据腾讯云音视频官方的消息显示,播放器SDK是音视频终端SDK的子产品之一,它采用“腾讯视频”同款播放内核,经过内部业务长期优化和海量服务验证,对比系统播放器性能可提升20%-50%,同时具备“臻彩视听”、精准Seek、画中画等丰富功能,为用户提供直播、点播场景下流畅稳定的音视频播放能力,覆盖泛娱乐、电商、教育等多样化音视频业务场景,支持Web/H5、iOS、Android、Flutter平台。
三掌柜
2023/12/29
1.1K4
腾讯云音视频播放器又上新啦!短视频秒开组件、加密画中画等功能让音视频播放更专业!
[UWP]用画中画模式(CompactOverlay Mode)让用总在最前端显示
Windows 10 Creators Update以后UWP提供了一个新的视图模式CompactOverlay,中文翻译成 紧凑的覆盖层?反正大部分时间我们都会称它为画中画模式。
dino.c
2020/02/13
1.5K0
AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)
如今,用户希望能够使用Picture in Picture (PiP) - 画中画播放视频。 PiP 模式将视频内容最小化到一个小窗口中,允许用户进行多任务处理。 在本教程中,您将学习如何向使用 UIKit 构建的现有视频应用程序添加画中画支持。
conanma
2021/09/04
3.3K0
怎么用 JavaScript 构建自定义的 HTML5 视频播放器
在网页中观看和分享视频内容是一个很常见的功能,多年来,视频嵌入网页的方式发生了变化。现在,我们在现代浏览器中使用 <video> 标签就可以添加视频文件到网页上,该标签支持多个视频格式。
Jimmy_is_jimmy
2023/03/09
11.9K0
怎么用 JavaScript 构建自定义的 HTML5 视频播放器
Android画中画(PIP)模式使用
现在手机端各大视频APP基本都有悬浮窗视频模式,我以前文章《Android制作带悬浮窗控制的录屏程序Demo》《Android实现可移动的悬浮窗》有介绍过悬浮窗的使用方式,而到了Android8.0时推出来画中画模式,就是让当前的Activity缩小后显示在其它Activity的上方,使用起来也非常的简单,本篇我们就来试试Android8.0后推出的画中画模式。
Vaccae
2022/12/29
2.7K0
Android画中画(PIP)模式使用
前端开发必读!7个HTML属性助你提升用户体验
HTML是一种强大的语言,用于创建网页。虽然大多数开发人员熟悉常用的HTML属性,但还有一些较少人知的属性可以提供额外的功能并增强用户体验。在本文中,我们将探讨7个这样的HTML属性,你可能还不知道。
前端小智@大迁世界
2023/08/16
7270
2023 年前端大事记
哈喽各位《code 秘密花园》的订阅者们,一年一度的年更系列又来了。关注我的老粉都知道,每到年末我会对前端生态在这一年的重大变化做一次总结,之前的总结:
ConardLi
2023/12/28
5490
2023 年前端大事记
FFmpeg中overlay滤镜用法-水印及画中画
overlay技术又称视频叠加技术。overlay视频技术使用非常广泛,常见的例子有,电视屏幕右上角显示的电视台台标,以及画中画功能,画中画是指在一个大的视频播放窗口中还存在一个小播放窗口,两个窗口不同的视频内容同时播放。
叶余
2019/04/02
7K2
FFmpeg中overlay滤镜用法-水印及画中画
从零开发弹幕视频播放器
这是一个系列文章。本文章将介绍,如何制作一个简单的视频播放器。用少量关键的代码来实现视频播放器核心功能。
羽月
2022/10/09
4.5K0
从零开发弹幕视频播放器
如何更优雅地看电影/刷剧
五一长假这几天看了几部电影,我不喜欢用APP看,都直接在电脑端看,这里就分享下如何优雅地看电影或者刷剧。
苏生不惑
2020/05/20
1.2K0
奥利奥好吃吗?Android 8.0新特性适配测试报告来啦!
谷歌2017 I/O开发者大会上发布了Android 8.0的正式版, 其官方代号为Oreo(奥利奥)。网上关于Android8.0新功能特性的介绍已铺天盖地,新功能特性会对程序应用带来哪些影响呢,我们从兼容性角度来看下这部分变化。
WeTest质量开放平台团队
2018/10/29
1.2K0
奥利奥好吃吗?Android 8.0 新特性适配测试报告来啦!
WeTest质量开放平台团队
2017/10/19
2.6K0
奥利奥好吃吗?Android 8.0 新特性适配测试报告来啦!
Android画中画(PIP)进阶---Action按钮的使用
上一篇《Android画中画(PIP)模式使用》介绍了画中画的使用,今天这篇来讲讲Action按钮的使用,主要是广播方式更新UI及Android 12后的兼容性问题。
Vaccae
2022/12/29
1.3K0
Android画中画(PIP)进阶---Action按钮的使用
技术解码 | 深入解析Web OBS的实现
Web 上实现直播推流的方式主要有两种,一种是通过 Flash 推流,一种是通过 WebRTC 推流。目前主流浏览器已经放弃了对 Flash 的支持,Chrome 从 88 版本开始彻底禁用了 Flash。因此,使用 WebRTC 进行直播推流成为了 Web 上最好的选择。
腾讯云音视频
2022/04/29
2K0
技术解码 | 深入解析Web OBS的实现
在P站做web前端,是种怎样的体验?
作者 | David Walsh 翻译 | 博轩 来源 | https://davidwalsh.name/pornhub-interview 今天,给大家分享一篇重口味的文章,请系好安全带。 对,你没看错,是P站,不是B站(bilibli)。 何谓P站?全称Pornhub,全球最大的sex影片分享网站,你们懂得。 坊间有云:没上过P站的程序员,不是一名优秀的前端切图仔。 无论你对不可描述内容采取什么立场,都无法否认成人网站行业对于推动 Web 的发展产生着巨大的影响。 从提高浏览器的视频限制,到通过 W
程序猿DD
2023/04/04
1.5K0
在P站做web前端,是种怎样的体验?
推荐阅读
相关推荐
这个Web新API让任何内容都能画中画!
更多 >
LV.0
这个人很懒,什么都没有留下~
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验