[vlc-devel] Hot keys to log timestamp parts of video
Steve Lhomme
robux4 at ycbcr.xyz
Wed Mar 9 06:49:47 UTC 2022
On 2022-03-08 21:12, John Hammer wrote:
> > 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?
When a new file/stream is loaded there's a ItemChanged emited with an
input_item_t. With that item you can get plenty of information like
calling input_item_GetNowPlayingFb().
> Thanks,
> John
>
>
>
> On Tue, Mar 8, 2022 at 2:13 PM Steve Lhomme <robux4 at ycbcr.xyz
> <mailto: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>
> > <mailto: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>
> > <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>
> > <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
> <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
More information about the vlc-devel
mailing list