View Issue Details

IDProjectCategoryView StatusLast Update
0004845The Dark ModCodingpublic29.04.2021 17:21
Reporterstgatilov Assigned Tostgatilov  
PriorityhighSeveritymajorReproducibilityN/A
Status resolvedResolutionfixed 
Product VersionTDM 2.06 
Target VersionTDM 2.07Fixed in VersionTDM 2.07 
Summary0004845: Restrict set of features in FFmpeg cinematics
DescriptionFFmpeg is a huge library with tons of codecs and formats, and the actual set of supported formats greatly depends on how it was configured. It is hard to keep this set constant over time, which can potentially result in breaking TDM cutscenes regularly in some distant future. To avoid breaking maps, there is a plan to restrict the set of supported formats/codecs to the bare minimum. This way the chance of breaking existing video files should become much lower.

Unfortunately, the unrestricted FFmpeg is already released with TDM 2.06, so the restricted version will be used starting from 2.07.

The restricted set is:
  containers:
    avi
    m4v
    mp4
    roq
  video codecs:
    h264
    mpeg4
    roq
  audio codecs:
    mp3
    aac
Additional InformationDiscussions on development & mappers forums:
  http://forums.thedarkmod.com/topic/19491-ffmpeg-videos-limit-set-of-codecscontainers/
  http://forums.thedarkmod.com/topic/19447-206-videos-without-roq/#entry423472
TagsNo tags attached.

Relationships

related to 0004847 resolvedstgatilov Support FFmpeg videos in testVideo command 

Activities

stgatilov

stgatilov

24.06.2018 10:33

administrator   ~0010574

Done in svn rev 7511.

This commit includes rolling back to FFmpeg 3.3.7 (getting WinXP back) and rebuilding all FFmpeg libs for all four supported platforms.

I have also written a detailed FFmpeg compilation guide on wiki:
  http://wiki.thedarkmod.com/index.php?title=Compiling_FFmpeg_for_TDM
It exactly describes how the new libs were created.
stgatilov

stgatilov

24.06.2018 10:49

administrator   ~0010575

Also committed a set of test videos in svn rev 15239.

All these files are internal: they are used by TDM maintainers to check that FFmpeg works properly.
They are referenced on the wiki page:
  http://wiki.thedarkmod.com/index.php?title=Compiling_FFmpeg_for_TDM#Testing
stgatilov

stgatilov

24.06.2018 11:24

administrator   ~0010576

Updated the wiki page about FFmpeg videos:
  http://wiki.thedarkmod.com/index.php?title=Cutscene_video_with_FFmpeg#Common_formats
Now it says explicitly which containers and codecs are supported.
stgatilov

stgatilov

28.06.2018 16:12

administrator   ~0010604

Ok, made sort of announcement in the mapper's forum:
  http://forums.thedarkmod.com/topic/19447-206-videos-without-roq/#entry424110
stgatilov

stgatilov

30.07.2018 16:13

administrator   ~0010735

It turned out that new FFmpeg version produces severe stutters due to multithreading efficiently disabled. The issue was caused by FFmpeg update.

Restored back multithreading in FFmpeg in svn rev 7606.
Now the number of threads is set to "auto", as it was in TDM 2.06.

More info:
  http://forums.thedarkmod.com/topic/19572-cauldron-v2-beta/#entry425363
  http://forums.thedarkmod.com/topic/19491-ffmpeg-videos-limit-set-of-codecscontainers/#entry425398
stgatilov

stgatilov

29.04.2021 17:21

administrator   ~0013936

The set of supported formats and codecs has been further restricted for 2.10.
Now only mp4 + h264 + aac and roq are supported, i.e. they is only one combination for the "new cinematics".

The commits are:
  r9326. Further restrict FFmpeg support to mp4 + h264 + aac and roq.
  r9327. Rebuild FFmpeg artefacts after recent formats restriction.

More details here:
  https://forums.thedarkmod.com/index.php?/topic/20904-ffmpeg-cinematics-the-only-format/
  https://forums.thedarkmod.com/index.php?/topic/20901-about-video-codecs/

Issue History

Date Modified Username Field Change
23.06.2018 05:17 stgatilov New Issue
23.06.2018 05:17 stgatilov Status new => assigned
23.06.2018 05:17 stgatilov Assigned To => stgatilov
23.06.2018 10:58 stgatilov Relationship added related to 0004847
24.06.2018 10:33 stgatilov Note Added: 0010574
24.06.2018 10:49 stgatilov Note Added: 0010575
24.06.2018 11:24 stgatilov Note Added: 0010576
28.06.2018 16:12 stgatilov Note Added: 0010604
28.06.2018 16:13 stgatilov Status assigned => resolved
28.06.2018 16:13 stgatilov Fixed in Version => TDM 2.07
28.06.2018 16:13 stgatilov Resolution open => fixed
30.07.2018 16:13 stgatilov Note Added: 0010735
29.04.2021 17:21 stgatilov Note Added: 0013936