Code Monkey home page Code Monkey logo

fakefeed's Introduction

FakeFeed

FakeFeed is a Kirigami based application that replaces the original camera feed with a virtual video devices. Normal (v4l2) applications will read these devices as if they were ordinary video devices, but the video will not be read from e.g. a capture card but instead it is generated by this application.

Requirements

This list might become incomplete in future due to development. Therefore kindly look at CMakeLists.txt files and build logs for in-situ detail.

Build

  • $ git clone https://github.com/deprov447/fakefeed.git
  • $ mkdir build && cd build
  • $ cmake ..
  • $ make -j$(nproc)
  • $ sudo bin/FakeFeed

This assumes all dependencies are installed. Kindly build the dependencies yourself if your distribution does not provide them/have outdated versions.

Project structure

├── CMakeLists.txt
├── README.md
└── src
    ├── libFakeFeed
    │   ├── CMakeLists.txt
    │   ├── ffpmeg.cpp
    │   ├── ffpmeg.h
    │   ├── test.cpp
    │   ├── test.h
    │   ├── module.cpp
    │   ├── module.h
    │   ├── globalStorage.cpp
    │   ├── globalStorage.h
    │   └── main.cpp
    │
    ├── fakeFeed
    │   ├── ChoicePage.qml
    │   ├── Drawer.qml
    │   ├── VDeviceSettingSheet.qml
    │   └── main.qml
    │
    ├── resources.qrc
    └── CMakeLists.txt

fakefeed's People

Contributors

deprov447 avatar william-monroy avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

fakefeed's Issues

Add option for feed from certain IP address

Feature request

A good feature to add would be stream a video on a network. This is particularly useful in case a laptop doesn't have a webcam. One can use an android application like IP-webcam to stream on local network and direct that stream as webcam feed.

Resolution

  • Create a new option to use this feature
  • A popup opens, asking for stream URL
  • Confirming that can start the fakefeed.

Please feel free to discuss the idea below

Bash script to automate installation

Issue

A user has to go through a lot of manual steps to build and start the application. Most of the steps are very script-based and can be easily automated

Resolution

Create a script that user can download to install the application

Script should be able to:

  • Clone this repository
  • Install all the dependencies: This can be a tricky thing, because of different package names on each distribution and different ways to install the application. Look at the bottom for some ideas
  • Build the source code
  • Install the generated binary

For dependency installation issue, either we can make separate scripts for separate distributions or ask the user to choose their distribution.

Expand documentation

Documentation

Try to expand the documentation on how to install the application, configuration required for virtual machines etc

Also try adding some images to README.md

Change default directory to user home

Issue

Currently on clicking the option to add file, the file chooser starts from the root directory, which doesn't serve any purpose

Resolution

Change default opening directory to user's home

GUI Window is not opening on Ubuntu 20.04

I followed all the steps required for installation (Including the dependencies) on Ubuntu 20.04, but unfortunately after running the command sudo bin/FakeFeed the following messages have been printed to the terminal and the GUI window didn't initiate.

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QQmlComponent: Component is not ready
QML engine started

Suggest a better UI

Issue:

Currently the UI looks like this :
Fakefeed
which is obviously not a very good design. The linear button flow makes it look like a script when a lot of customization options are there/can be added.

Resolution:

Please propose a better and intuitive design. You can create a mockup using any of the tools available and share your designs here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.