User Tools

Site Tools


public:ffmpeg-based_interval_timer_for_sport_and_exercise

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
public:ffmpeg-based_interval_timer_for_sport_and_exercise [2018/02/07 01:47] – created fangfufupublic:ffmpeg-based_interval_timer_for_sport_and_exercise [2018/02/15 10:30] fangfufu
Line 1: Line 1:
 ====== FFmpeg-based Interval Timer for Sport and Exercise ====== ====== FFmpeg-based Interval Timer for Sport and Exercise ======
-unfortunately am the one of the cycling captain of UEA Triathlon Club for the academic year of 2017-2018. Possibly due to having low IQ, I have problem with keeping track of the set in a turbo session. I used to use a Matlab-based countdown timer [(https://uk.mathworks.com/matlabcentral/fileexchange/18165-countdown)]. However it always crashes at 42 seconds, possibly due to the fact that it is "The Almighty Answer to the Meaning of Life, the Universe, and Everything" [(https://www.urbandictionary.com/define.php?term=42)]. I cannot be bothered to fix the code in that Matlab countdown timer+I am the one of the cycling captain of UEA Triathlon Club for the academic year of 2017-2018. I always find it hard to keep track of the set in a turbo session for some reason
  
-After digging through FFmpeg documentation [(https://trac.ffmpeg.org/wiki)] and the Internet [(https://en.wikipedia.org/wiki/Internet)], figured out how to generate text-based video which can be played on any video player that is compatible with H.264 [(https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC)]. +used to use Matlab-based countdown timer [(https://uk.mathworks.com/matlabcentral/fileexchange/18165-countdown)]. However it always freezes after 558 seconds had elapsed - if you set a 10-minute countdown timer, it will freeze at 42 seconds. I can't be bothered to fix the Matlab code
  
-Here I present the program listingand an example output+After digging through FFmpeg documentation [(https://trac.ffmpeg.org/wiki)] and the InternetI figured out how to generate a text-based video
  
-===== Program listing ===== +I have to say FFmpeg is one of my most abused software. Last time I used FFmpeg to upload arbitrary file to Youtube [(https://github.com/fangfufu/Matlab-Data-Video-Converter)].  
-<code bash> +
-#!/bin/bash+
  
-# The file number counter +You can download it at [[https://github.com/fangfufu/make_interval_timer_video]].
-let counter=0 +
- +
-function cleanup { +
-    rm seg-*.mp4 filelist.txt +
-+
- +
-# calling convention:duration text +
-function segment { +
-    let min=$1/60 +
-    let sec=$1-${min}*60 +
-    ffmpeg -f lavfi -i color=c=white:size=1280x720:rate=30 \ +
-    -vf "drawtext=text='${2}': fontsize=80:+
-    r=30: x=(w-tw)/2: y=h-h*0.75: fontcolor=black:,+
-    drawtext=text='Duration: ${min} min ${sec} sec': fontsize=80:+
-    r=30: x=(w-tw)/2: y=h-h*0.5: fontcolor=black:, +
-    drawtext=timecode='00\:00\:00\:00': fontsize=80:+
-    r=30: x=(w-tw)/2: y=h-h*0.25: fontcolor=black:"+
-    -t ${1} -preset slow -tune stillimage -y \ +
-    seg-${counter}.mp4 +
-    echo "file seg-${counter}.mp4" >> filelist.txt +
-    let counter++ +
-+
- +
-function output { +
-    ffmpeg -f concat -i filelist.txt -c copy ${1} +
-    cleanup +
-+
- +
-cleanup +
- +
-segment 300 "Easy, gradually build up" +
-segment 600 "10 mile TT effort" +
-segment 15  "Sprint" +
-segment 600 "Easy" +
-segment 600 "10 mile TT effort" +
-segment 20  "Sprint" +
-segment 600 "Easy" +
-segment 600 "10 mile TT effort" +
-segment 25  "Sprint" +
-segment 300 "Cool down" +
- +
-output UEA-Triathlon-2018-02-07.mp4 +
- +
-</code>+
  
 ===== Example output ===== ===== Example output =====
-[[https://www.youtube.com/watch?v=4dAoJzUBoJE|The turbo session set on 2018-02-08]]+[[https://www.youtube.com/watch?v=CYHr1SqeTHw|The turbo session set on 2018-02-08]]
  
  
public/ffmpeg-based_interval_timer_for_sport_and_exercise.txt · Last modified: 2018/03/31 00:38 by 127.0.0.1