Dive media: Extract thumbnails from videos with ffmpeg

Extract thumbnails using ffmpeg.
Behavior is controlled by three new preferences fields:
 - extract_video_thumbnails (bool): if true, thumbnails are calculated.
 - extract_video_thumbnail_position (int 0..100): position in video
   where thumbnail is fetched.
 - ffmpeg_executable (string): path of ffmpeg executable.

If ffmpeg refuses to start, extract_video_thumbnails is set to false
to avoid unnecessary churn.

Video thumbnails are marked by an overlay.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-07-10 15:04:35 +02:00 committed by Dirk Hohndel
parent 51066e5478
commit fce42d4858
14 changed files with 727 additions and 20 deletions

View file

@ -73,7 +73,7 @@
<item>
<widget class="QRadioButton" name="noDefaultFile">
<property name="text">
<string>No default file</string>
<string>&amp;No default file</string>
</property>
</widget>
</item>
@ -209,6 +209,79 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_10">
<property name="title">
<string>Video thumbnails</string>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="horizontalSpacing">
<number>5</number>
</property>
<property name="verticalSpacing">
<number>5</number>
</property>
<property name="margin">
<number>5</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="ffmpegExectuableLabel">
<property name="text">
<string>ffmpeg executable</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3b">
<item>
<widget class="QLineEdit" name="ffmpegExecutable"/>
</item>
<item>
<widget class="QToolButton" name="ffmpegFile">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QLabel" name="videoThumbnailPositionLabel">
<property name="text">
<string>Extract at position</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSlider" name="videoThumbnailPosition">
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>20</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="extractVideoThumbnailsLabel">
<property name="text">
<string>Extract video thumbnails</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="extractVideoThumbnails">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_9">
<property name="title">