text overlay

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

text overlay

kususe
Suppose I don't wanna use playbin2.
I want to make by mysel a player based on the concept of pipeline.
Io order to pass the video, I create an entry to put the filepath in, using first:

source = gst.element_factory_make("filesrc", "file-source")

which be demuxed in order to be managed by two different queues (audio and video)

and

self.player.get_by_name("file-source").set_property("location", filepath)

in the function which check that filepath passed by the user is correct.

Using playbin2 I just use the second line (In the forst I specify the using of playbin2) like:

self.player.set_property("uri", "file://" + filepath)

and, to add the subtitles, I add:

self.player.set_property("suburi", "file://" + filepath1)

To use a general player how can I implemente the text overlay?

Thanks in advances,
Francesco



Reply | Threaded
Open this post in threaded view
|

Re: text overlay

Andrey Nechypurenko-2
> Suppose I don't wanna use playbin2.

I am not sure that I understand your question completely, but what
might be helpful is to start your current playbin2-based working
pipeline using gst-launch, dump it and build the graph as described
here: http://gstreamer.freedesktop.org/wiki/DumpingPipelineGraphs
It will show you what playbin2 constructs under the hood for your
particular case. Then you can try to build similar pipelines in your
application and set corresponding properties of the elements.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

kususe
 I did what you said but it sound it doesn't works using this simple command:

 

GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch playbin uri=/path/to/file

 

and each combination with "gst-launch-0.10" and "playbin2"

 

 

It returns:

 

Impostazione della pipeline a PAUSED ...
ERRORE: la pipeline non vuole mettersi in pausa.
ERRORE: dall'elemento /GstPlayBin:playbin0: URI «/home/boss/test/video.avi» non valido.
Informazioni di debug aggiuntive:
gstplaybasebin.c(1664): gen_source_element (): /GstPlayBin:playbin0
Impostazione della pipeline a NULL ...
Esecuzione di free sulla pipeline...

 

It returns that my file is not valid, even if, using my app based on playbin, all is ok and the video is played.

 

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

Andrey Nechypurenko-2
> GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch playbin uri=/path/to/file

> ERRORE: dall'elemento /GstPlayBin:playbin0: URI «/home/boss/test/video.avi»
> non valido

/path/to/file is not a valid URI.

try uri=file:///path/to/file
instead of
uri=/path/to/file
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

kususe
Nothing, the same error.
But now, the URI is interpreted like "///path/to/file", which in Linux it has no sense.
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

Andrey Nechypurenko-2
> Nothing, the same error.
> But now, the URI is interpreted like "///path/to/file", which in Linux it
> has no sense.

The only thing I can say here is:

- use playbin2 instead of playbin (however, most probably it will no
make any difference in your case)

- make sure that the path you are providing is correct. For example,
instead of gst-launch, try > firefox file:///path/to/your/file or
whatever other application which can handle the file (vlc, mplayer,
...).

- you can also refer the playbin2 documentation here:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-playbin2.html
 in particular, look at example section with sample pipelines.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

kususe
I installed a Linux distro on VM and all works.
Some days ago, I installed some packets about gstreamer and probably I made a mess, causing a packet conflict.
Now, I have another question.

I wanna implement the text overlay, without using playbin, but reading strings by a file and displaying them on the screen (I need modify their alignment..).
I start from a mpeg file. I demux it into two queue (audio and video) wich ends up into their respective sinks.
If I want to use the textoverlay, have I create another queue? If yes, what element should I insert in it?
Is the text overlay sink equal to the video one?
I attempted to set up the text to display, simple using the parameter "text", but naturally it doesn't work, because something is wrong.

Thanks in advance.
Francesco
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

rossana
Hello, maybe my response it's a bit later. Here is the pipeline I did for avi files with subtitles

textoverlay --- ffmpeg-colorspace --videoscale --- autovideosink

                          decodebin2 ---  queue --- audioconvert --audioresample -- alsasink
(.avi)                 |
filescr -- avidemux
                        |
                        decodebin2 --- queue --- textoverlay.video-sink

(.srt)
filescr --- parse ---textoverlay.text-sink

You must be aware of the dynamic pad linking issues for, such, avidemux- decodebin, or decodebin-queue.

Hope it helps. Cheers

Rossana
Reply | Threaded
Open this post in threaded view
|

Re: text overlay

kususe
I solved used this one, starting from 3.2 example: here and adding a new element in the queue video after mpeg2dec and setting the text using the property text.

Using this method you're not tied to use srt files, which have a too specific syntax.

Cheers,
K