[vlc-devel] Hot keys to log timestamp parts of video

John Hammer dev54335 at gmail.com
Tue Mar 8 20:12:56 UTC 2022


> It ends up doing
> emit positionUpdated( f_pos, i_time, i_length / CLOCK_FREQ );

Thank you Steve for pointing this out. Looking at the function that emits
this I found the following line that returns the current time position.

**var_GetInteger(p_input , "time");** // This line retrieves the time at
current position in microseconds

 I called this in the **MainInterface::keyPressEvent(...)** callback to
retrieve the current time which works !!!

Now I want to log this to a file at the same location as the current
playing file. How to retrieve the file path and file name of the current
playing file?

Thanks,
John



On Tue, Mar 8, 2022 at 2:13 PM Steve Lhomme <robux4 at ycbcr.xyz> wrote:

> On 2022-03-07 21:19, John Hammer wrote:
> >  > You mean visually?
> >
> > Yes. Basically while watching the video pressing the key manually should
> > log timestamps to a file. There will be 2 keys one for start timestamp
> > and one for end timestamp. The goal is to log the timestamps of
> > interesting parts of the video for external processing.
> >
> >  > There are time events reported by the core that you can hook into to
> > know where you are.
> >
> > I could modify the Qt GUI module and could listen to the key presses.
> > The following is the patch that works. Where is the time event hook?
> > Does this mean I have to store the keypress event for later processing
> > in the time hook event?
>
> In libvlc there are 2 events: libvlc_MediaPlayerPositionChanged and
> libvlc_MediaPlayerTimeChanged. But if you use VLC directly it's not much
> use. They correspond to INPUT_EVENT_POSITION in Qt (on 3.0).
>
> It ends up doing
> emit positionUpdated( f_pos, i_time, i_length / CLOCK_FREQ );
>
>
>
> > diff --git a/modules/gui/qt/main_interface.cpp
> > b/modules/gui/qt/main_interface.cpp
> > index a57506533d..cd1ebad916 100644
> > --- a/modules/gui/qt/main_interface.cpp
> > +++ b/modules/gui/qt/main_interface.cpp
> > @@ -28,7 +28,7 @@
> >   #endif
> >
> >   #include "qt.hpp"
> > -
> > +#include <QDebug>
> >   #include "main_interface.hpp"
> >   #include "input_manager.hpp"                    // Creation
> >   #include "actions_manager.hpp"                  // killInstance
> > @@ -72,6 +72,7 @@
> >
> >   #include <QTimer>
> >
> > +
> >   #include <vlc_actions.h>                    /* Wheel event */
> >   #include <vlc_vout_display.h>               /* vout_thread_t and VOUT_
> > events */
> >
> > @@ -1612,6 +1613,17 @@ void
> > MainInterface::dragLeaveEvent(QDragLeaveEvent *event)
> >
> ************************************************************************/
> >   void MainInterface::keyPressEvent( QKeyEvent *e )
> >   {
> > +    switch (e->key()) {
> > +    case Qt::Key_End:
> > +    case Qt::Key_1:
> > +      qDebug()<<e<<" start timestamp \n";
> > +      break;
> > +    case Qt::Key_PageDown:
> > +    case Qt::Key_2:
> > +      qDebug()<<e<<" end timestamp \n";
> > +      break;
> > +    }
> > +
> >       handleKeyPress( e );
> >
> > Thanks,
> > John
> >
> > On Mon, Mar 7, 2022 at 2:02 PM Steve Lhomme <robux4 at ycbcr.xyz
> > <mailto:robux4 at ycbcr.xyz>> wrote:
> >
> >
> >
> >     On 2022-03-05 19:01, John Hammer wrote:
> >      > Hi,
> >      >     I want to retrieve the start and end timestamp of parts of
> >     the video
> >      > for post-processing with an external program. Since Lua extension
> >     does
> >
> >     You mean visually ? There are time events reported by the core that
> you
> >     can hook into to know where you are.
> >
> >      > not support keybindings, I have decided to modify the source
> code. I
> >      > could compile the 3.x branch and debug the qt module interface.
> >     It looks
> >      > like this in the keypress event callbacks of this module is where
> >     the
> >      > code to log the timestamps should go.
> >      >
> >      >      Am I on the right track on implementing this feature or is
> >     there
> >      > any other way?
> >      >
> >      >     I also would like to color the areas on the time slider where
> >     the
> >      > start and end timestamps occurred. I have no idea how to achieve
> >     this.
> >      > Any suggestions on which module to be changed to achieve this?
> >
> >     If you want to change the UI you have to modify the Qt gui module/
> >
> >      > --
> >      > Thanks,
> >      > John
> >      >
> >      > _______________________________________________
> >      > vlc-devel mailing list
> >      > To unsubscribe or modify your subscription options:
> >      > https://mailman.videolan.org/listinfo/vlc-devel
> >     <https://mailman.videolan.org/listinfo/vlc-devel>
> >     _______________________________________________
> >     vlc-devel mailing list
> >     To unsubscribe or modify your subscription options:
> >     https://mailman.videolan.org/listinfo/vlc-devel
> >     <https://mailman.videolan.org/listinfo/vlc-devel>
> >
> >
> >
> > --
> > Regards
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



-- 
Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20220309/052d5ad0/attachment.html>


More information about the vlc-devel mailing list