Recherche avancée

Médias (91)

Autres articles (62)

Sur d’autres sites (10859)

  • lavc/packet : add API for an AVPacket-based AVContainerFifo

    11 décembre 2024, par Anton Khirnov
    lavc/packet : add API for an AVPacket-based AVContainerFifo
    
    • [DH] doc/APIchanges
    • [DH] libavcodec/packet.c
    • [DH] libavcodec/packet.h
    • [DH] libavcodec/version.h
  • FFmpeg for marking time video based on a reference date

    29 décembre 2018, par Denio Mariz

    I am trying to mark a timestamp in a video using drawtext filter.
    FFmpeg easily marks timestamps based on localtime, gmtime or even PTS. However, I want to assign a reference time (start time) for the timestamp in order to represent the time the video was recorded (not encoded).

    Reading the documentation, I found that option basetime can be used for this purpose. However it seems that is not working or I am missing something.

    The command line I am using is :

    ffmpeg -y -i input.mp4 -filter_complex drawtext="fontfile=/tmp/UbuntuMono-B.ttf: fontsize=36: fontcolor=yellow: box=1: boxcolor=black@0.4: text='Wall Clock Time\: %{gmtime\:%Y-%m-%d %T}': basetime=1456007118" output.mp4

    By using basetime=1456007118, it was expected the start time was set to ’02/20/2016 20:25:18’ since 1456007118 is the UTC time for that time and date :

    date -d '02/20/2016 20:25:18' +"%s" # format MM/DD/AAAA hh:mm:ss
    1456007118

    However, no error is issued by FFmpeg and the video is marked with current GMT, ignoring basetime option.

    Any hint ?
    Thanks.

    Complete information about FFmpeg version and output is :

    ffmpeg -y -i /home/denio/Videos/Interstellar_2014_Trailer_4_5.1-1080p-HDTN.mp4 -filter_complex drawtext="fontfile=/tmp/UbuntuMono-B.ttf: fontsize=36: fontcolor=yellow: box=1: boxcolor=black@0.4: text='Wall Clock Time\: %{gmtime\:%Y-%m-%d %T}': basetime=1470226363" /tmp/x.mp4
    ffmpeg version 3.1.1 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.3.1 (Ubuntu 5.3.1-14ubuntu2.1) 20160413
     configuration: --enable-libxavs --enable-bzlib --enable-libfaac --enable-libfreetype --enable-libfontconfig --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib --enable-x11grab --enable-static --enable-pthreads --enable-gpl --enable-nonfree --enable-version3 --disable-ffserver --enable-libgsm --enable-librtmp --enable-libvpx --enable-libschroedinger --enable-libopencore-amrnb --enable-libopenjpeg
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 48.101 / 57. 48.101
     libavformat    57. 41.100 / 57. 41.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 47.100 /  6. 47.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    ...
    ...
  • FFMPEG : Create timestamp based on actual creation time

    2 juillet 2022, par Peder Wessel

    Desired outcome

    


    Add overlay with timestamp for each frame of a video based on the original creation time for the video. E.g. starting at 2022-03-26T15:51:49.000000Z and a second later in the video present 2022-03-26T15:51.50.000000Z

    


    Approach

    


    Creation_time stored in the file already, e.g. when running ffmpeg -i input.mov" it presents creation_time   : 2022-03-26T15:51:49.000000Z.

    


    Adding overlay with timestamp to video :
ffmpeg -i input.mov -filter_complex "drawtext=text='%{pts\:gmtime\:1507046400\:%d-%m-%Y %T}': x=100 : y=100: box=1" -c:a copy output.mp4

    


    Challenge/ help needed

    


    Need to replace the gmtime\:1507046400 with the actual creation_time. How does one do it ?

    


    Sources