Re: Hot keys to log timestamp parts of video

Steve Lhomme <[email protected]>
Newsgroups gmane.comp.video.videolan.vlc.devel
Message-ID <[email protected]>

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 <[email protected] 
> <mailto:[email protected]>> 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 <[email protected]
>     <mailto:[email protected]>
>      > <mailto:[email protected] <mailto:[email protected]>>> 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
_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
https://mailman.videolan.org/listinfo/vlc-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.