MattsProjects / pylon_gstreamer

A robust integration of Basler's Pylon API with GStreamer. Delivers applications as ready-to-run standalone compiled executables (gst-launch-1.0 is not needed). Designed for reliability and easy access to performance optimizations. Note: This is not a plugin. It is an intergration using GStreamer's GstAppSrc element.
Apache License 2.0
29 stars 18 forks source link

Saving video pipeline stops #14

Closed MattsProjects closed 2 years ago

MattsProjects commented 4 years ago

Thanks it works! but I have another problem when I try to save the video in a file, the pipe line it stops all alone do you know where it comes from? (i also try as root and i got the same result)

Thank, Best regard, Raphael image

_Originally posted by @Xeod757 in https://github.com/MattsProjects/pylon_gstreamer/issues/13#issuecomment-555596380_

MattsProjects commented 4 years ago

Hi Raphael, I see the issue. Just call -h264file on it's own, without -h264stream. What is happening is the demo program is picking up the -h264stream argument first and so only running that pipeline (to send the stream to another PC). The demo isn't so smart, it only runs one pipeline at a time. I will try to add some code to pick up this condition and make a notification to the user.

rgrandpierre commented 4 years ago

Thanks for your answer.

First, I tied just to save the stream in a file with the -h264file parameter. the file is well created, but the program stops immediately. And I can't read my file with a player like VLC (I activated the h264 demuxer option in tools), the interface bugs and the stream isn't displayed. The running command is exactly : ./demopylongstreamer -framerate 15 -rescale 1280 720 -h264file test.h264 15 Is there something wrong ?

Futhermore, can you give me the equivalent pipeline of this command : ./demopylongstreamer -h264stream -framerate 15 -rescale 1280 720

Or can you give me an example pipeline command with the h264stream and h264file, because my goal is to grab the camera, stream to an other device and at the same time save it in a file.

Thank you very much for your answer Best regards Raphael

MattsProjects commented 4 years ago

Hi Raphael, Thanks for the clarification on the use-case. What is needed is to "tee" the pipeline to direct the stream to two different sub-pipelines or sinks (one for the network and one for the file). I have not done this myself yet, but I know GStreamer has some tools to do this, so I will look into it...

As for reading the file, honestly I just used whatever the default player was in Ubutu 16.04 when I built the pipeline. I forget the name of it, but it seems to open the file and play it just fine. I'm not sure what VLC is expecting though, but I will look into that as well...

Could you give me some idea of the urgency of your project? To be honest, with the holiday season coming in, I'm not sure how much time I will have over the next few weeks to work on the code, but I will try my best! (it may be that I can only give some quick beta solution)