4 Star 68 Fork 15

RTE-Dev / RedPlayer

forked from CY. / RedPlayer 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

REDPlayer

示例图片

GitHub release (latest by date including pre-releases) GitHub license

About REDPlayer

REDPlayer 是一款由小红书自主研发的跨平台(支持 Android、iOS、HarmonyOS 等平台)播放器。不同于行业其他播放器,REDPlayer 具有结构简单、耦合度低、功能边界清晰等特点,提供了多种接入方式,技术人员可根据需要灵活选择,既可快速集成SDK使用,也可基于源码进行定制开发。

REDPlayer 的宗旨是让开发者可以快速明确地了解播放器的基本构造,并可根据个人需求进行简单扩展,满足不同用户的多样需求,可作为学生学习的基础工具,也可作为企业的商用平台。

REDPlayer 支持点播、直播场景下的多种协议和格式(如 HLS、MP4、FLV 等),并可二次扩展更多协议(如:RTC 等)。每个模块均是解耦的,开发者可以根据需要挂载自定义模块,如自研解码器、渲染器等。

Platform Build Status
Android Done
iOS Done
others In Coming

Quickstart/Demo

Features

Function Function Description Current Support Situation Other Notes
Rich Format Supports rich audio and video formats such as FLV, HLS, MP4, MP3, and Vorbis
DASH Protocol Supports standard protocol DASH Optimized version of DASH for on-demand support in the later stage
HDR Supports multiple HDR formats such as HDR10/HLG. Distribution and playback support are provided according to the model
URL Playback Supports playback of local and network videos via URL
Log Reporting Supports reporting player logs and statistics related to playback point information
Abnormal Analysis Supports obtaining corresponding abnormal information through log analysis
H.264 Playback & Hardware Decoding Supports H.264 video sources and hardware decoding
H.265 Playback & Hardware Decoding Supports H.265 video sources and hardware decoding Software decoding capabilities will be supported in the later stage
Automatic switching between software and hardware decoding Automatically switches to software decoding when the terminal does not support hardware decoding
Playback Control Supports playback control functions such as start, end, pause, and resume
Accurate Seeking Supports accurate seeking to a specified position, which can be accurate to the frame level
Dynamic Dropping Start dynamic dropping when the frame rate exceeds 60 fps
Replay Supports manually triggered replay after the video ends
Continue playing Supports setting the continuous playing time point
Loop Playback Supports automatic replay after video playback ends Parameter configuration is required
Variable Speed Playback Supports variable speed playback of 0.5-2 times, and the audio实现variable speed without changing the pitch
Definition Adjustment Supports switching between multiple definitions for on-demand and transcoding
Seeking within the Cache Supports seeking without clearing the buffer for cached video content
Packing Mode Supports picture cropping and filling
Private DRM Supports private DRM encryption schemes
Adaptive Bitrate When playing HLS/DASH, it supports automatically selecting the definition for playback through bandwidth prediction Currently only supports selection before playback, and does not support abr during playback
Volume Settings Supports real-time adjustment of system volume and mute operation
Pure Audio Playback Supports playing audio only
Preload Supports setting the preload size to reduce the time spent on the first screen
Play While Downloading Supports playing while caching and downloading subsequent content, and you can set network policies
Playback Callback Supports playback status callback, first frame callback, playback completion or failure callback
Retry on Playback Failure Automatically retries on playback failure Only supports retries for non-4XX and 5XX classes
Real-time Download Speed Supports getting real-time download speed Will be supported in later versions
Encrypted Streaming PlayBack Support for on-demand transcoding of encrypted streams Need for custom development
Screenshot Function Support for capturing any frame of the playback picture Will be supported in later versions
Thumbnail Preview Support for previewing progress bar thumbnails (sprite map) Related to business, not currently supported
Set player size Support for customizing the width and height of the player Will be supported in later versions
External subtitles Support for two docking modes of external subtitles: full-link solution and pure client solution Will be supported in later versions
Client super-resolution The client performs super-resolution enhancement on low-quality videos Will be supported in later versions
H.266 playback Support for video playback in H.266 encoding format Will be supported in later versions
AV1 playback Support for video playback in AV1 encoding format Will be supported in later versions

Open Content

```bash
# Describe the main contents of current open source and the estimated time and contents of the next open source
```

Usage

  • You can directly integrate your project by calling the interface or compile independently.
  • INTERFACES.md

Build Environment

  • Install Homebrew & Git

     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
     brew install git
  • Build Android

    Using Android SDK

    Andrioid SDK is android project base dependency. You should download and then config with the following command:

     # add this line to your ~/.bash_profile or ~/.profile, the android sdk will work
     export ANDROID_SDK=<your sdk path>
     
     # My build environment:
     # macOS 14.0
     # Android Studio Flamingo | 2022.2.1 Patch 2
     # gradle version: 7.5.0
  • Build iOS

    Using CocoaPods

    CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

     $ gem install cocoapods
     
     # My build environment:
     # macOS 14.0
     # Xcode 15.2 (15C500b)
     # Cocoapods version: 1.10.2
     # Ruby 3.0.6p216

Latest Changes

Support

Licence

Self Licence

Copyright (c) 2024 xiaohongshu
Licensed under LGPLv2.1 or later

Dependence Licence

  • ffmpeg: LGPL v2.1+
  • soundtouch: LGPL v2.1
  • libcurl: MIT License
  • c-ares: MIT License
  • glide: MIT License
  • Masonry: MIT License
  • openssl: Apache License 2.0
  • PictureSelector: Apache License 2.0

Law And Rule

All rights and explanations belong to Xiaohongshu,you should always ask your lawyer for these stuffs before use it in your product.

空文件

简介

REDPlayer是一款由小红书自主研发的跨平台(支持Android、iOS、HarmonyOS等平台)播放器。不同于行业其他播放器,REDPlayer 具有结构简单、耦合度低、功能边界清晰等特点,提供了多种接入方式,技术人员可根据需要灵活选择,既可快速集成SDK使用,也可基于源码进行定制开发。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/rte-dev/RedPlayer.git
git@gitee.com:rte-dev/RedPlayer.git
rte-dev
RedPlayer
RedPlayer
main

搜索帮助