Skip to content

Latest commit

 

History

History
71 lines (36 loc) · 3.36 KB

readme_en.md

File metadata and controls

71 lines (36 loc) · 3.36 KB

XVirtualCamera(Xposed Virtual Camera Plugin)

A virtual camera module based on the Xposed framework suitable for Android 9.0 and above, written in Kotlin.

Support replacing virtual camera content with "live streaming or video," supported protocols include: http, rtsp, rtmp, rtp, etc.

You are responsible for all consequences arising from the use of this open-source project.

Download Stars License

Scope of Plugin Functionality

Virtual videos can be applied in the following areas:

  • Bilibili preview, recording
  • Douyin preview, recording, live broadcast
  • Kuaishou preview, recording, live streaming [todo: Currently, the new version has compatibility issues and is prone to crashing, to be resolved]
  • WeChat Video Account Preview, Recording
  • Xiaomi native camera preview
  • WhatsApp video call [New on Sep 18, 2024]

Other plugins are not effective in other places (because they have not been tested, they are disabled for compatibility), if you need to use them, please modify the source code and recompile.

Usage

You can use network video, video stream, or local video as the video source for the virtual camera.

    1. Please manually open the plugin in the Xposed Manager and select the scope APP.
    1. Please edit the network video address in /storage/emulated/0/Android/data/[the package name of the app you want to use the virtual camera with]/cache/stream.txt, making sure there are no extra blank lines.
    1. When stream.txt does not exist or its content is empty, use /storage/emulated/0/Android/data/[package name]/cache/virtual.mp4 as the video source for the virtual camera.

Network video supports streaming media protocols such as http, rtsp, rtmp, rtp, etc., while local video supports video formats such as mp4.

Recommended solution for streaming: OBS live streaming + Nginx reverse proxy (for specific tutorials, please search for the keywords "setting up live streaming service with OBS and Nginx"), then fill in stream.txt with: rtmp://local IP address:port number/name (for example: rtmp://172.20.10.6:1935/live). The delay is approximately 2 to 3 seconds.

Disclaimer

For learning and communication purposes only, or to provide a way to upload videos. Please do not play any videos/works of others. All consequences arising from the use of this open-source project are to be borne by yourself.

Thanks

The player can support multiple data sources because it is developed based on bilibili/ijkplayer.

Download

Github Release

License

This project is licensed under the GNU General Public Licence 3.0.

Sponsorship

Maintaining it requires spending my spare time, and I hope you can provide some sponsorship~ I would be very grateful : )