GithubHelp home page GithubHelp logo

elonen / clapshot Goto Github PK

View Code? Open in Web Editor NEW
56.0 4.0 3.0 14.1 MB

Self hosted web based collaborative video review tool

License: GNU General Public License v2.0

Dockerfile 2.96% Makefile 2.38% HTML 0.12% JavaScript 3.53% Svelte 24.46% CSS 0.42% TypeScript 0.33% Shell 1.59% Rust 64.21%
annotation annotation-tool collaboration linux-server review review-tools video webapp

clapshot's People

Contributors

dependabot[bot] avatar elonen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

clapshot's Issues

Multi user deployment page stuck on connecting to server

Hi elonen,

It's me again, i just deployed the multi-user version and my page is stuck on connecting to the server.

When I checked the browser console logs, I found that websocket is not working. I have attached a screenshot of the console.

Screenshot 2023-03-12 at 7 14 03 AM

Here are logs from docker:

2023-03-12 07:11:38 sed: -e expression #1, char 32: unknown option to `s'
2023-03-12 07:11:38 
2023-03-12 07:11:38 echo <<- "EOF"
2023-03-12 07:11:38 ==============================================
2023-03-12 07:11:38   _____                   _
2023-03-12 07:11:38  |  __ \                 (_)
2023-03-12 07:11:38  | |__) _   _ _ __  _ __  _ _ __   __ _
2023-03-12 07:11:38  |  _  | | | | '_ \| '_ \| | '_ \ / _` |
2023-03-12 07:11:38  | | \ | |_| | | | | | | | | | | | (_| |
2023-03-12 07:11:38  |_|  \_\__,_|_| |_|_| |_|_|_| |_|\__, |
2023-03-12 07:11:38      _____ _                 _     __/ | _
2023-03-12 07:11:38     / ____| |               | |   |___/ | |
2023-03-12 07:11:38    | |    | | __ _ _ __  ___| |__   ___ | |_
2023-03-12 07:11:38    | |    | |/ _` | '_ \/ __| '_ \ / _ \| __|
2023-03-12 07:11:38    | |____| | (_| | |_) \__ | | | | (_) | |_
2023-03-12 07:11:38     \_____|_|\__,_| .__/|___|_| |_|\___/ \__|
2023-03-12 07:11:38                   | |
2023-03-12 07:11:38                   |_|
2023-03-12 07:11:38 
2023-03-12 07:11:38 ---  Browse http://127.0.0.1:8080/         for Clapshot
2023-03-12 07:11:38 ---  or     http://127.0.0.1/8080/htadmin  for user management
2023-03-12 07:11:38 ---
2023-03-12 07:11:38 ---  Default users:
2023-03-12 07:11:38 ---   - admin:admin     (can edit other people's videos)
2023-03-12 07:11:38 ---   - demo:demo
2023-03-12 07:11:38 ---   - alice:alice123
2023-03-12 07:11:38 ---
2023-03-12 07:11:38 ---  User management admin:
2023-03-12 07:11:38 ---   - htadmin:admin   (only for /htadmin)
2023-03-12 07:11:38 ==============================================================
2023-03-12 07:11:38 EOF
2023-03-12 07:11:38 
2023-03-12 07:11:38 
2023-03-12 07:11:38 # Dig up start command from systemd script and run it as docker user instead of www-data
2023-03-12 07:11:38 CMD=$(grep 'Exec' /lib/systemd/system/clapshot-server.service | sed 's/^.*=//')
2023-03-12 07:11:38 sudo -u docker $CMD &
2023-03-12 07:11:38 
2023-03-12 07:11:38 # Follow server log
2023-03-12 07:11:38 tail -f /var/log/clapshot.log
2023-03-12 07:11:38 2023-02-11T21:27:12.131005Z ERROR ws_session{sid=576 user=docker}: Error receiving message - closing session. details=WebSocket protocol error: Connection reset without closing handshake
2023-03-12 07:11:38 2023-02-11T21:28:13.176312Z ERROR ws_session{sid=577 user=docker}: Error receiving message - closing session. details=WebSocket protocol error: Connection reset without closing handshake
2023-03-12 07:11:38 2023-02-11T21:28:59.086579Z  INFO ws_session{sid=578 user=docker}: Got websocket close message.
2023-03-12 07:11:38 2023-02-11T21:35:05.571164Z  INFO INCOMING: Exiting.
2023-03-12 07:11:38 2023-02-11T21:35:05.571245Z  INFO API: Exiting.
2023-03-12 07:11:38 2023-02-11T21:35:05.576053Z  INFO PIPELINE: Exiting.
2023-03-12 07:11:38 2023-02-11T21:35:05.585829Z  INFO COMPR: Input queue closed. details=receiving on an empty and disconnected channel
2023-03-12 07:11:38 2023-02-11T21:35:05.587267Z  INFO COMPR: Exiting.
2023-03-12 07:11:38 2023-02-11T21:35:05.588125Z  INFO MD: Incoming queue closed.
2023-03-12 07:11:38 2023-02-11T21:35:05.589503Z  INFO MD: Exiting.
2023-03-12 07:11:39 Database migrations needed. Make a backup and run `clapshot-server --migrate`

Auto pause when typing (Auto play when sending)

It would be cool to auto pause video when typing a comment and autoplay when sending it, to "live comment" the video.

I already implemented a switch for that in the client, I can send you the code if you want.

Transcoding failed if data track in source file

Thank you for your amazing work.
I'm currently considering using Clapshot in my workflow, and I found a bug.
When adding a ".mov" file directly from our NLE (Davinci Resolve) the file contains a data track with metadata, we get a "transcoding failed" when adding it to Clapshot.
The problem is that "- maps 0" copy all stream including the data track, but mp4 container do not support data track.

You should consider using "-dn" argument to delete this track from the mp4 file.

For example line 107 in video_compressor.rs

cmd = cmd.args(&[
                "-nostats",
                "-vcodec", "libx264",
                "-vf", &format!("scale={}:{}", 1920, -8),
                "-map", "0",  // copy all streams
                "-preset", "faster", "-dn", //remove data stream
                "-acodec", "aac",
                "-ac", "2",
                "-strict", "experimental",
                "-b:v", &format!("{}", args.video_bitrate),
                "-b:a", &format!("{}", 128000),
            ]).arg(&dst);

This file for example contains a data track.
https://transfer.zadafrik.com/download/a1290555c4d64f3a/#ElMgPFZiyaZu5mfvEKknsQ

Video timeline jumps from 00:30:00:00 to 01:30:00:00

Hello and tanks for your nice project!
For the first time we added a video longer than 30 minutes and we stumbled upon what we think is a bug. When the timeline of the video goes beyond 30 minutes, it jumps directly to 1:30:00, it goes on adding 1h and then when it reaches what would be a real 1h it resets back to from 01:59:59 to 01:00:00.It repeats that when it reaches 01:30:00, so jumping to 02:30:00 and so on.

You can see an excerpt from the timeline animation here:
clapshot-timeline-counter-issue.gif

cc @diego-calza, @lelit

Video download button

Add a button to download original and/or transcoded video.

Discussed in #31

Originally posted by bobbyrabbit April 25, 2023
This is an excellent system.
Once the the collaborator has created their comments and the edits have been completed and re-uploaded for the collaborator to check and sign off. Is there a way to download the original quality video rather than the transcoded version? At the moment the only option I have to download the video is by right-clicking and save as?

Debian 12 required?

Hi, after creating, installing the debs and running clapshot-server, I get this:

root@clapshot:~/clapshot# clapshot-server
clapshot-server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by clapshot-server)
clapshot-server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by clapshot-server)
clapshot-server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by clapshot-server)

sudo apt -y install libc6 returns libc6 is already installed at the requested version (2.31-13+deb11u7), nothing newer is available.

Is Debian 12 required? I'm on Debian 11. Or any other tips? Thanks!

Unable to connect to docker demo

Hello, I'm trying to run your docker demo on an Ubuntu 22.04 server. I can access the web interface, but I'm greeted with a "connecting server" and a spinning loading symbol.

Would it be possible to provide a full blown docker application, as opposed to the VM install script?

Connecting Server...

I am trying to connect using http://ServerIP:8080 but continuing to get Connecting Server..

I used following command to setup docker container:

docker run --rm -it -p 0.0.0.0:8080:80 -v clapshot-demo:/mnt/clapshot-data/data \
  elonen/clapshot:latest-demo-htadmin

Any help would be appreciated

Feature Request

Hey Elonen,

I hope this message finds you well. I wanted to reach out regarding your project. I think clapshot is a great addition to the open-source and I believe a lot of people will benefit from it.

I have a few suggestions for features that I believe would further enhance the project. I would love to see the following added in the future:

A login system to secure user data and content
An admin panel with roles and permissions to manage users and content effectively
The ability to assign folders to specific users for efficient content management
Workflow automation to streamline processes and improve productivity
Thank you again for your dedication and hard work. I am excited to see what the future holds for this project.

Thank you!

Reopen log file on SIGUSR1

To support logrotate better, logger should listen to SIGUSR1 and upon receiving it, close and repopen the log file (if not printing to stdout).

How to run behind Nginx Proxy Manager?

I use NPM as a reverse proxy but when I put Clapshot behind it, all I get is "Connecting server". I run the server like this (and took me a while to discover that the -e baseurl parameter can not be at the end of the command):

docker run --rm -it -p 0.0.0.0:8080:80 -v clapshot-demo:/mnt/clapshot-data/data -e CLAPSHOT_URL_BASE=192.168.0.152:8080/ elonen/clapshot:latest-demo-htadmin

and am able to access it via http://192.168.0.152:8080 from browser running on a different computer, but not via a subdomain (clapshot.MYDOMAIN.com) - again, it does seem to connect to the server but I only get endless "Connecting server".

NPM is configured like this:
Screenshot 2023-12-13 at 12 16 34
Screenshot 2023-12-13 at 12 16 42

Thanks for any tips!

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.