libvlc usage in projects more complex than a simple player

This forum is about all development around libVLC.
blackmonster
New Cone
New Cone
Posts: 6
Joined: 02 May 2013 08:49

libvlc usage in projects more complex than a simple player

Postby blackmonster » 24 Jul 2013 10:56

First of all thank you, developers, for this product. I really appreciate your work for making libvlc free even for commercial projects.
But due to my experience after 4 months of usage i can honestly say i made a wrong choice by selecting libvlc as a framework for my project.
Application is a simple video editing software that plays a chained segments of video.
Problems began once i make an attempt to chain 2 videos. I wanted a seamless playback.
I used following scheme:
A imem module for playback (with audio slave).
vmem and amem for audio and video decoding
smem for transcoding.
I created a stream which was played back by imem and filled with data with a/vmem or smem.
Due to some facts i can't use buffering, i.e fill a stream with 1s of video or so.
Thus i wanted to start players of my video chunks as fast as possible. I used play/pause, but nothing worked. i used callbacks for pause and it also didn't worked. strange things happened when i replaced vmem with smem. seeking and rate stopped to work,i got a bunch of warnings from libavcodec, my experiments with

Code: Select all

:no-hurry and time-sync
didn't get any result.
I started reading a source code and found many interesting but undocumented things like

Code: Select all

:start-time=

Code: Select all

:input-repeat=
for per-media control of playback that were useful but brought more problems.
I know that i entered undiscovered area here, but again, i would not get here if i had a public API.
I spent a lot of time studying the code and trying to understand how libvlc callbacks work and how to use them, but, i lost.
I even determined a set of conditions where to expect an error and created workarounds.
I don't want to say that library is bad. It is nice and powerful, just not as versatile as i expected, especially for low-level data access.
I wrote this post to help someone in decision of the framework for his future project. Also it touches some problems that i didn't found in the forum. Maybe i'm wrong, i'm just sharing my experience.
Thanks all

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: libvlc usage in projects more complex than a simple play

Postby Jean-Baptiste Kempf » 24 Jul 2013 17:52

smem is unpaced, so it is normal that you get no seeking and rate.

But yes, libVLC is a bit limited for low-level stuff.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 39 guests