Giter VIP home page Giter VIP logo

gst-sync-server's People

Contributors

ford-prefect 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gst-sync-server's Issues

Raspberry Pi 4 | How to force video-sink to kmmal?

I successfully play a videousing the library on x86 hardware, but failed on a Raspberry Pi 4.
RaspbianOS lite Buster. (based on Debian 10 server, no gui).

I can compile and run the example with no errors, but there are not any video output
I read #7 and tested gst-launch:
gst-launch-1.0 playbin uri=file:///home/pi/media/printgwmm.mp4
and it failed.
But using kmmal:
gst-launch-1.0 playbin uri=file:///home/pi/media/printgwmm.mp4 video-sink="kmssink"
it works.

The logs for ./test-server -f pl.txt --gst-debug-level=4 are:
http://sprunge.us/jYOssh

I assume the library uses autovideosink and the problem is that is selecting other sink like ximagesink or glimagesink that is not working with my setup.

So my specific question is, how can I change the sink in the code? Is hardcoded? I can't find any option on the command line arguments.
Or what are your recommendation?

Thanks in advance.

Network set-up, video on remote client not playing (Ubuntu 18.04LTS)

My playlist file:

file:///tmp/big_buck_bunny_720p.mp4 -1

My server on 192.168.2.24 runs the server with arguments -f playlist.txt. Client started on other machine with -a 192.168.2.24 argument. I see the following output:

Added client: gst-sync-client-eba0f419, config {}

But the client does not start playing, it only shows a still of the first frame when the video restarts. What am I doing wrong here?

Furthermore I also notice only TCP/IP traffic when the video is paused, starts playing or looped. Is the sync event only sent on changes? Won't the video synchronization be off when you play long video files? How is this handled in the TCP example?

Fails to compile from GIT

Attempting to compile this code:
$ ./autogen.sh autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal -I m4 -I common/m4 aclocal: error: couldn't open directory 'common/m4': No such file or directory autoreconf: aclocal failed with exit status: 1

It can be workarounded by adding m4 directory at common:
$ mkdir common/m4
Then it fails again with:
$ ./autogen.sh autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal -I m4 -I common/m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy autoreconf: running: /usr/bin/autoconf autoreconf: running: /usr/bin/autoheader autoreconf: running: automake --add-missing --copy --no-force configure.ac:48: error: required file 'common/Makefile.in' not found configure.ac:48: error: required file 'common/m4/Makefile.in' not found docs/Makefile.am:1: error: ENABLE_GTK_DOC does not appear in AM_CONDITIONAL automake: error: cannot open < common/upload-doc.mak: No such file or directory autoreconf: automake failed with exit status: 1

Syncronizing Multiple Rtsp Streams

hi,
I have multiple rtsp streams from multiple cameras, i want to synchronize those streams. so far i don't think the current library support this, Any ideas how can i accomplish this ?

thanks in advance,

building gst-sync-server on windows

Some files reference glib-unix, and use functions like g_unix_open_pipe
is there an easy way to replace them with something that can run on windows?

Can't compile on ubuntu 22.04

Hi, I can't compile this project in Ubuntu 22.04.
(I am a noob building in C, so sorry if this is not a project-specific issue, but I search for answers on other sites and cannot find a more general building-related solution.)

./autogen.sh
aclocal: error: couldn't open directory 'common/m4': No such file or directory

mkdir common/m4
./autogen.sh
configure.ac:48: error: required file 'common/Makefile.in' not found
configure.ac:48: error: required file 'common/m4/Makefile.in' not found

Client connection error

Hi,

first of all, thank you for this great project.

I'm trying to replicate your blog post setup (one server and one client running on different machines), and I'm getting into some problems:

-If I run the client locally (on the same machine as the one running the server), everything works just fine: playlist is reproduced, and a XWindow is open by the client, playing the videos.

-If I run the client on a different machine from the server, the client seems that it can reach the server (traces on the server shown that the client is connected), but it doesn't reproduce the playlist.

I put some traces on both sides and looks that the client stops somewhere on the GstLoop. It doesn't reach synchronization phase neither.

I'm using a switch in order to connect both equipments. Firewalls are all open.Both equipments are running on Ubuntu 16.04.

Can you, please, provide me any clue? Where the client can get stuck?

Thank you very much for your help. Best,
Mariano.

Running on Raspberry PI

Hi,

I am trying to get the gst-sync-server to work on the raspberry pi for a videowall usecase. Do you have any experience or advice?

I tried installing the following:

  • Installing gstreamer on stretch and compile the library: this works. However, I cannot replay 720p files on stretch using gstreamer. It seems that the hardware acceleration is not working
  • Installing gstreamer on jessie, library does not compile since jessie has an older version of glib2. However, gstreamer 720p playback works but 1080p does not (omxplayer however is working).

Do you recommend compiling all gstreamer deps from source?

The library perfectly works on my linux desktop and laptops.

Thanks in advance,

Rein

Synchronizing different parts of a video

Hello, As far as I understood correctly, each client decodes the overall video and then crops the relevant part in video order to render the correct part. So the question is, how synchronization should be done in case where each client plays a different part of video? In other words, assume that I have 4k video and split it to 4 x 1080p pieces and then trying to synchronize all clients as they are decoding relevant parts of the video.

Can this use in panoramic stitch ?

I have multi devices, and use rtspsrc to get multi live streams, can I use it to sync streams and compose them to a panoramic video stream?

Input uri format?

Hi,

It seems i ran into an issue when trying to pass a file as uri. Below is the log. Maybe, the uri is given in some other format?

./test-server /home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4 
You must specify a URI or playlist path
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ ./test-server file:////home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4 
You must specify a URI or playlist path
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ ./test-server file:///home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4 
You must specify a URI or playlist path
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ 
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ 
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ 
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ ./test-server file:///home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4 
You must specify a URI or playlist path
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ ./test-server "file:///home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4"
You must specify a URI or playlist path
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ 
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ 
suvir@suvir-:~/branch_suvir/gst-sync-server/examples$ ./test-server uri="file:///home/suvir/Downloads/bbb_sunflower_1080p_30fps_normal.mp4"
You must specify a URI or playlist path

Thanks
Suvir

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.