Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (37)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (3008)

  • 2011 In Open Source Multimedia

    5 janvier 2012, par Multimedia Mike — Open Source Multimedia

    Sometimes I think that the pace of multimedia technology is slowing down. Obviously, I’m not paying close enough attention. I thought I would do a little 2011 year-end review of what happened in the world of open source multimedia, mainly for my own benefit. Let me know in the comments what I missed.

    The Split
    The biggest deal in open source multimedia was the matter of the project split. Where once stood one project (FFmpeg) there now stands two (also Libav). Where do things stand with the projects now ? Still very separate but similar. Both projects obsessively monitor each other’s git commits and prodigiously poach each other’s work, both projects being LGPL and all. Most features that land in one code base end up in the other. Thus, I refer to FFmpeg and Libav collectively as “the projects”.

    Some philosophical reasons for the split included project stagnation and development process friction. Curiously, these problems are fond memories now and the spirit of competition has pushed development forward at a blinding pace.

    People inside the project have strong opinions about the split ; that’s understandable. People outside the project have strong opinions about the split ; that’s somewhat less understandable, but whatever. After 5 years of working for Adobe on the Flash Player (a.k.a. the most hated software in all existence if internet nerds are to be believed on the matter), I’m so over internet nerd drama.

    For my part, I just try to maintain some appearance of neutrality since I manage some shared resources for the open source multimedia community (like the wiki and samples repo) and am trying to keep them from fracturing as well.

    Apple and Open Source
    It was big news that Apple magnanimously open sourced their lossless audio codec. That sets a great example and precedent.

    New Features
    I mined the 'git log' of the projects in order to pick out some features that were added during 2011.

    First off, Apple’s ProRes video codec was reverse engineered and incorporated into the multimedia libraries. And for some weird reason, this is an item that made the rounds in the geek press. I’m not entirely sure why, but it may have something to do with inter-project conflict. Anyway, here is the decoder in action, playing a video of some wild swine, one of the few samples we have :



    Other new video codecs included a reverse engineered Indeo 4 decoder. Gotta catch ‘em all ! That completes our collection of Indeo codecs. But that wasn’t enough– this year, we got a completely revised Indeo 3 decoder (the previous one, while functional, exhibited a lot of code artifacts betraying a direct ASM ->C translation). Oh, and many thanks to Kostya for this gem :



    That’s the new Origin Xan decoder (best known for Wing Commander IV cinematics) in action, something I first started reverse engineering back in 2002. Thanks to Kostya for picking up my slack yet again.

    Continuing with the codec section, there is a decoder for Adobe Flash Screen Video 2 — big congrats on this ! One of my jobs at Adobe was documenting this format to the outside world and I was afraid I could never quite make it clear enough to build a complete re-implementation. But the team came through.

    Let’s see, there are decoders for VBLE video, Ut Video, Windows Media Image (WMVP/WMP2), Bink audio version ‘b’, H.264 4:2:2 intra frames, and MxPEG video. There is a DPX image encoder, a Cirrus Logic AccuPak video encoder, and a v410 codec.

    How about some more game stuff ? The projects saw — at long last — an SMJPEG demuxer. This will finally allow usage and testing of the SMJPEG IMA ADPCM audio decoder I added about a decade ago. Funny story behind that– I was porting all of my decoders from xine which included the SMJPEG ADPCM. I just never quite got around to writing a corresponding demuxer. Thanks to Paul Mahol for taking care of that.

    Here’s a DFA playback system for a 1995 DOS CD-ROM title called Chronomaster. No format is too obscure, nor its encoded contents too cheesy :



    There’s now a demuxer for a format called XMV that was (is ?) prevalent on Xbox titles. Now the projects can handle FMV files from many Xbox games, such as Thrillville.



    The projects also gained the ability to play BMV files. I think this surfing wizard comes from Discworld II. It’s non-computer-generated animation at a strange resolution.



    More demuxers : xWMA, PlayStation Portable PMP format, and CRI ADX format ; muxer for OpenMG audio and LATM muxer/demuxer.

    One more thing : an AVX-optimized fast Fourier transform (FFT). If you have a machine that supports AVX, there’s no way you’ll even notice the speed increase of a few measly FFT calls for audio coding/decoding, but that’s hardly the point. The projects always use everything on offer for any CPU.

    Please make me aware of features that I missed in the list !

    Continuous Testing
    As a result of the split, each project has its own FATE server, one for FFmpeg and one for Libav. As of the new year, FFmpeg has just over 1000 tests while Libav had 965. This is one area where I’m obviously ecstatic to see competition. Some ad-hoc measurements on my part indicate that the total code coverage via the FATEs has not appreciably increased. But that’s a total percentage. Both the test count and the code count have been steadily rising.

    Google Summer of Code and Google Code-In
    Once again, the projects were allowed to participate in the Google Summer of Code as well as Google Code-In. I confess that I didn’t keep up with these too carefully (and Code-In is still in progress as of this writing). I do know that the project split occurred after FFmpeg had already been accepted for GSoC season 2011 and the admins were gracious enough to allow FFmpeg and Libav to allow both projects to participate in the same slot as long as they could both be mature about it.

    Happy New Year
    Let’s see what we can accomplish in 2012.

  • Developing MobyCAIRO

    26 mai 2021, par Multimedia Mike — General

    I recently published a tool called MobyCAIRO. The ‘CAIRO’ part stands for Computer-Assisted Image ROtation, while the ‘Moby’ prefix refers to its role in helping process artifact image scans to submit to the MobyGames database. The tool is meant to provide an accelerated workflow for rotating and cropping image scans. It works on both Windows and Linux. Hopefully, it can solve similar workflow problems for other people.

    As of this writing, MobyCAIRO has not been tested on Mac OS X yet– I expect some issues there that should be easily solvable if someone cares to test it.

    The rest of this post describes my motivations and how I arrived at the solution.

    Background
    I have scanned well in excess of 2100 images for MobyGames and other purposes in the past 16 years or so. The workflow looks like this :


    Workflow diagram

    Image workflow


    It should be noted that my original workflow featured me manually rotating the artifact on the scanner bed in order to ensure straightness, because I guess I thought that rotate functions in image editing programs constituted dark, unholy magic or something. So my workflow used to be even more arduous :


    Longer workflow diagram

    I can’t believe I had the patience to do this for hundreds of scans


    Sometime last year, I was sitting down to perform some more scanning and found myself dreading the oncoming tedium of straightening and cropping the images. This prompted a pivotal question :


    Why can’t a computer do this for me ?

    After all, I have always been a huge proponent of making computers handle the most tedious, repetitive, mind-numbing, and error-prone tasks. So I did some web searching to find if there were any solutions that dealt with this. I also consulted with some like-minded folks who have to cope with the same tedious workflow.

    I came up empty-handed. So I endeavored to develop my own solution.

    Problem Statement and Prior Work

    I want to develop a workflow that can automatically rotate an image so that it is straight, and also find the most likely crop rectangle, uniformly whitening the area outside of the crop area (in the case of circles).

    As mentioned, I checked to see if any other programs can handle this, starting with my usual workhorse, Photoshop Elements. But I can’t expect the trimmed down version to do everything. I tried to find out if its big brother could handle the task, but couldn’t find a definitive answer on that. Nor could I find any other tools that seem to take an interest in optimizing this particular workflow.

    When I brought this up to some peers, I received some suggestions, including an idea that the venerable GIMP had a feature like this, but I could not find any evidence. Further, I would get responses of “Program XYZ can do image rotation and cropping.” I had to tamp down on the snark to avoid saying “Wow ! An image editor that can perform rotation AND cropping ? What a game-changer !” Rotation and cropping features are table stakes for any halfway competent image editor for the last 25 or so years at least. I am hoping to find or create a program which can lend a bit of programmatic assistance to the task.

    Why can’t other programs handle this ? The answer seems fairly obvious : Image editing tools are general tools and I want a highly customized workflow. It’s not reasonable to expect a turnkey solution to do this.

    Brainstorming An Approach
    I started with the happiest of happy cases— A disc that needed archiving (a marketing/press assets CD-ROM from a video game company, contents described here) which appeared to have some pretty clear straight lines :


    Ubisoft 2004 Product Catalog CD-ROM

    My idea was to try to find straight lines in the image and then rotate the image so that the image is parallel to the horizontal based on the longest single straight line detected.

    I just needed to figure out how to find a straight line inside of an image. Fortunately, I quickly learned that this is very much a solved problem thanks to something called the Hough transform. As a bonus, I read that this is also the tool I would want to use for finding circles, when I got to that part. The nice thing about knowing the formal algorithm to use is being able to find efficient, optimized libraries which already implement it.

    Early Prototype
    A little searching for how to perform a Hough transform in Python led me first to scikit. I was able to rapidly produce a prototype that did some basic image processing. However, running the Hough transform directly on the image and rotating according to the longest line segment discovered turned out not to yield expected results.


    Sub-optimal rotation

    It also took a very long time to chew on the 3300×3300 raw image– certainly longer than I care to wait for an accelerated workflow concept. The key, however, is that you are apparently not supposed to run the Hough transform on a raw image– you need to compute the edges first, and then attempt to determine which edges are ‘straight’. The recommended algorithm for this step is the Canny edge detector. After applying this, I get the expected rotation :


    Perfect rotation

    The algorithm also completes in a few seconds. So this is a good early result and I was feeling pretty confident. But, again– happiest of happy cases. I should also mention at this point that I had originally envisioned a tool that I would simply run against a scanned image and it would automatically/magically make the image straight, followed by a perfect crop.

    Along came my MobyGames comrade Foxhack to disabuse me of the hope of ever developing a fully automated tool. Just try and find a usefully long straight line in this :


    Nascar 07 Xbox Scan, incorrectly rotated

    Darn it, Foxhack…

    There are straight edges, to be sure. But my initial brainstorm of rotating according to the longest straight edge looks infeasible. Further, it’s at this point that we start brainstorming that perhaps we could match on ratings badges such as the standard ESRB badges omnipresent on U.S. video games. This gets into feature detection and complicates things.

    This Needs To Be Interactive
    At this point in the effort, I came to terms with the fact that the solution will need to have some element of interactivity. I will also need to get out of my safe Linux haven and figure out how to develop this on a Windows desktop, something I am not experienced with.

    I initially dreamed up an impressive beast of a program written in C++ that leverages Windows desktop GUI frameworks, OpenGL for display and real-time rotation, GPU acceleration for image analysis and processing tricks, and some novel input concepts. I thought GPU acceleration would be crucial since I have a fairly good GPU on my main Windows desktop and I hear that these things are pretty good at image processing.

    I created a list of prototyping tasks on a Trello board and made a decent amount of headway on prototyping all the various pieces that I would need to tie together in order to make this a reality. But it was ultimately slowgoing when you can only grab an hour or 2 here and there to try to get anything done.

    Settling On A Solution
    Recently, I was determined to get a set of old shareware discs archived. I ripped the data a year ago but I was blocked on the scanning task because I knew that would also involve tedious straightening and cropping. So I finally got all the scans done, which was reasonably quick. But I was determined to not manually post-process them.

    This was fairly recent, but I can’t quite recall how I managed to come across the OpenCV library and its Python bindings. OpenCV is an amazing library that provides a significant toolbox for performing image processing tasks. Not only that, it provides “just enough” UI primitives to be able to quickly create a basic GUI for your program, including image display via multiple windows, buttons, and keyboard/mouse input. Furthermore, OpenCV seems to be plenty fast enough to do everything I need in real time, just with (accelerated where appropriate) CPU processing.

    So I went to work porting the ideas from the simple standalone Python/scikit tool. I thought of a refinement to the straight line detector– instead of just finding the longest straight edge, it creates a histogram of 360 rotation angles, and builds a list of lines corresponding to each angle. Then it sorts the angles by cumulative line length and allows the user to iterate through this list, which will hopefully provide the most likely straightened angle up front. Further, the tool allows making fine adjustments by 1/10 of an angle via the keyboard, not the mouse. It does all this while highlighting in red the straight line segments that are parallel to the horizontal axis, per the current candidate angle.


    MobyCAIRO - rotation interface

    The tool draws a light-colored grid over the frame to aid the user in visually verifying the straightness of the image. Further, the program has a mode that allows the user to see the algorithm’s detected edges :


    MobyCAIRO - show detected lines

    For the cropping phase, the program uses the Hough circle transform in a similar manner, finding the most likely circles (if the image to be processed is supposed to be a circle) and allowing the user to cycle among them while making precise adjustments via the keyboard, again, rather than the mouse.


    MobyCAIRO - assisted circle crop

    Running the Hough circle transform is a significantly more intensive operation than the line transform. When I ran it on a full 3300×3300 image, it ran for a long time. I didn’t let it run longer than a minute before forcibly ending the program. Is this approach unworkable ? Not quite– It turns out that the transform is just as effective when shrinking the image to 400×400, and completes in under 2 seconds on my Core i5 CPU.

    For rectangular cropping, I just settled on using OpenCV’s built-in region-of-interest (ROI) facility. I tried to intelligently find the best candidate rectangle and allow fine adjustments via the keyboard, but I wasn’t having much success, so I took a path of lesser resistance.

    Packaging and Residual Weirdness
    I realized that this tool would be more useful to a broader Windows-using base of digital preservationists if they didn’t have to install Python, establish a virtual environment, and install the prerequisite dependencies. Thus, I made the effort to figure out how to wrap the entire thing up into a monolithic Windows EXE binary. It is available from the project’s Github release page (another thing I figured out for the sake of this project !).

    The binary is pretty heavy, weighing in at a bit over 50 megabytes. You might advise using compression– it IS compressed ! Before I figured out the --onefile command for pyinstaller.exe, the generated dist/ subdirectory was 150 MB. Among other things, there’s a 30 MB FORTRAN BLAS library packaged in !

    Conclusion and Future Directions
    Once I got it all working with a simple tkinter UI up front in order to select between circle and rectangle crop modes, I unleashed the tool on 60 or so scans in bulk, using the Windows forfiles command (another learning experience). I didn’t put a clock on the effort, but it felt faster. Of course, I was livid with proudness the whole time because I was using my own tool. I just wish I had thought of it sooner. But, really, with 2100+ scans under my belt, I’m just getting started– I literally have thousands more artifacts to scan for preservation.

    The tool isn’t perfect, of course. Just tonight, I threw another scan at MobyCAIRO. Just go ahead and try to find straight lines in this specimen :


    Reading Who? Reading You! CD-ROM

    I eventually had to use the text left and right of center to line up against the grid with the manual keyboard adjustments. Still, I’m impressed by how these computer vision algorithms can see patterns I can’t, highlighting lines I never would have guessed at.

    I’m eager to play with OpenCV some more, particularly the video processing functions, perhaps even some GPU-accelerated versions.

    The post Developing MobyCAIRO first appeared on Breaking Eggs And Making Omelettes.

  • extract subtitle from video ffmpeg. subs.srt : Invalid argument

    3 juillet 2019, par evgeni fotia
       let filename_ext = file.path.split('/').pop()
       let filename = filename_ext.split('.').slice(0, filename_ext.split('.').length-1).join('.')

       var result = ffmpeg({
         MEMFS: [{name: filename_ext, data: buffer}],
         arguments: ["-i", filename_ext, "-map", "0:s:0", "subs.srt"],
         // Ignore stdin read requests
         stdin: function() {},
       });
       // Write out.webm to disk.
       var out = result.MEMFS[0];
       fs.outputFile(pathname + '/' + out.name, Buffer(out.data), 'binary');

    I get the following

       ffmpeg version n3.1.2 Copyright (c) 2000-2016 the FFmpeg developers
     built with emcc (Emscripten gcc/clang-like replacement) 1.36.7 ()
     configuration: --cc=emcc --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-fast-unaligned --disable-pthreads --disable-w32threads --disable-os2threads --disable-debug --disable-stripping --disable-all --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-avfilter --disable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --enable-decoder=vp8 --enable-decoder=vp9 --enable-decoder=theora --enable-decoder=mpeg2video --enable-decoder=mpeg4 --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=png --enable-decoder=mjpeg --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=mp3 --enable-decoder=ac3 --enable-decoder=aac --enable-decoder=ass --enable-decoder=ssa --enable-decoder=srt --enable-decoder=webvtt --enable-demuxer=matroska --enable-demuxer=ogg --enable-demuxer=avi --enable-demuxer=mov --enable-demuxer=flv --enable-demuxer=mpegps --enable-demuxer=image2 --enable-demuxer=mp3 --enable-demuxer=concat --enable-protocol=file --enable-filter=aresample --enable-filter=scale --enable-filter=crop --enable-filter=overlay --disable-bzlib --disable-iconv --disable-libxcb --disable-lzma --disable-sdl --disable-securetransport --disable-xlib --disable-zlib --enable-encoder=libvpx_vp8 --enable-encoder=libopus --enable-encoder=mjpeg --enable-muxer=webm --enable-muxer=ogg --enable-muxer=null --enable-muxer=image2 --enable-filter=subtitles --enable-libass --enable-libopus --enable-libvpx --extra-cflags=-I../libvpx/dist/include --extra-ldflags=-L../libvpx/dist/lib
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 48.101 / 57. 48.101
     libavformat    57. 41.100 / 57. 41.100
     libavfilter     6. 47.100 /  6. 47.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
    [h264 @ 0x7d7510] Warning: not compiled with thread support, using thread emulation
    [aac @ 0x7d81c0] Warning: not compiled with thread support, using thread emulation
    [ssa @ 0x7d8e30] Warning: not compiled with thread support, using thread emulation
    Input #0, matroska,webm, from 'censored filename.mkv':
     Metadata:
       encoder         : no_variable_data
       creation_time   : 1970-01-01 00:00:00
     Duration: 00:23:40.13, start: 0.000000, bitrate: 2789 kb/s
       Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
       Metadata:
         BPS             : 2658044
         BPS-eng         : 2658044
         DURATION        : 00:23:40.045000000
         DURATION-eng    : 00:23:40.045000000
         NUMBER_OF_FRAMES: 34047
         NUMBER_OF_FRAMES-eng: 34047
         NUMBER_OF_BYTES : 471817808
         NUMBER_OF_BYTES-eng: 471817808
         _STATISTICS_WRITING_APP: no_variable_data
         _STATISTICS_WRITING_APP-eng: no_variable_data
         _STATISTICS_WRITING_DATE_UTC: 1970-01-01 00:00:00
         _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
         _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
         _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       Stream #0:1(jpn): Audio: aac (LC), 44100 Hz, stereo, fltp (default)
       Metadata:
         BPS             : 128000
         BPS-eng         : 128000
         DURATION        : 00:23:40.109000000
         DURATION-eng    : 00:23:40.109000000
         NUMBER_OF_FRAMES: 61159
         NUMBER_OF_FRAMES-eng: 61159
         NUMBER_OF_BYTES : 22721748
         NUMBER_OF_BYTES-eng: 22721748
         _STATISTICS_WRITING_APP: no_variable_data
         _STATISTICS_WRITING_APP-eng: no_variable_data
         _STATISTICS_WRITING_DATE_UTC: 1970-01-01 00:00:00
         _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
         _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
         _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       Stream #0:2(eng): Subtitle: ass (default)
       Metadata:
         BPS             : 110
         BPS-eng         : 110
         DURATION        : 00:23:25.280000000
         DURATION-eng    : 00:23:25.280000000
         NUMBER_OF_FRAMES: 298
         NUMBER_OF_FRAMES-eng: 298
         NUMBER_OF_BYTES : 19407
         NUMBER_OF_BYTES-eng: 19407
         _STATISTICS_WRITING_APP: no_variable_data
         _STATISTICS_WRITING_APP-eng: no_variable_data
         _STATISTICS_WRITING_DATE_UTC: 1970-01-01 00:00:00
         _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
         _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
         _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       Stream #0:3: Attachment: ttf
       Metadata:
         filename        : OpenSans-Semibold.ttf
         mimetype        : application/x-truetype-font
    [NULL @ 0x9eac90] Unable to find a suitable output format for 'subs.srt'
    subs.srt: Invalid argument

    the file is a mkv video file

    Other info

    Codecs:
    D..... = Decoding supported
    .E.... = Encoding supported
    ..V... = Video codec
    ..A... = Audio codec
    ..S... = Subtitle codec
    ...I.. = Intra frame-only codec
    ....L. = Lossy compression
    .....S = Lossless compression
    -------
    ..VI.. 012v                 Uncompressed 4:2:2 10-bit
    ..V.L. 4xm                  4X Movie
    ..VI.S 8bps                 QuickTime 8BPS video
    ..VIL. a64_multi            Multicolor charset for Commodore 64
    ..VIL. a64_multi5           Multicolor charset for Commodore 64, extended with 5th color (colram)
    ..V..S aasc                 Autodesk RLE
    ..VIL. aic                  Apple Intermediate Codec
    ..VI.S alias_pix            Alias/Wavefront PIX image
    ..VIL. amv                  AMV Video
    ..V.L. anm                  Deluxe Paint Animation
    ..V.L. ansi                 ASCII/ANSI art
    ..V..S apng                 APNG (Animated Portable Network Graphics) image
    ..VIL. asv1                 ASUS V1
    ..VIL. asv2                 ASUS V2
    ..VIL. aura                 Auravision AURA
    ..VIL. aura2                Auravision Aura 2
    ..V... avrn                 Avid AVI Codec
    ..VI.. avrp                 Avid 1:1 10-bit RGB Packer
    ..V.L. avs                  AVS (Audio Video Standard) video
    ..VI.. avui                 Avid Meridien Uncompressed
    ..VI.. ayuv                 Uncompressed packed MS 4:4:4:4
    ..V.L. bethsoftvid          Bethesda VID video
    ..V.L. bfi                  Brute Force & Ignorance
    ..V.L. binkvideo            Bink video
    ..VI.. bintext              Binary text
    ..VI.S bmp                  BMP (Windows and OS/2 bitmap)
    ..V..S bmv_video            Discworld II BMV video
    ..VI.S brender_pix          BRender PIX image
    ..V.L. c93                  Interplay C93
    ..V.L. cavs                 Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)
    ..V.L. cdgraphics           CD Graphics video
    ..VIL. cdxl                 Commodore CDXL video
    ..V.L. cfhd                 Cineform HD
    ..V.L. cinepak              Cinepak
    ..VIL. cljr                 Cirrus Logic AccuPak
    ..VI.S cllc                 Canopus Lossless Codec
    ..V.L. cmv                  Electronic Arts CMV video
    ..V... cpia                 CPiA video format
    ..V..S cscd                 CamStudio
    ..VIL. cyuv                 Creative YUV (CYUV)
    ..V.LS daala                Daala
    ..VILS dds                  DirectDraw Surface image decoder
    ..V.L. dfa                  Chronomaster DFA
    ..V.LS dirac                Dirac
    ..VIL. dnxhd                VC3/DNxHD
    ..VI.S dpx                  DPX (Digital Picture Exchange) image
    ..V.L. dsicinvideo          Delphine Software International CIN video
    ..VIL. dvvideo              DV (Digital Video)
    ..V..S dxa                  Feeble Files/ScummVM DXA
    ..VI.S dxtory               Dxtory
    ..VIL. dxv                  Resolume DXV
    ..V.L. escape124            Escape 124
    ..V.L. escape130            Escape 130
    ..VILS exr                  OpenEXR image
    ..V..S ffv1                 FFmpeg video codec #1
    ..VI.S ffvhuff              Huffyuv FFmpeg variant
    ..V.L. fic                  Mirillis FIC
    ..V..S flashsv              Flash Screen Video v1
    ..V.L. flashsv2             Flash Screen Video v2
    ..V..S flic                 Autodesk Animator Flic video
    ..V.L. flv1                 FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
    ..V..S fraps                Fraps
    ..VI.S frwu                 Forward Uncompressed
    ..V.L. g2m                  Go2Meeting
    ..V..S gif                  GIF (Graphics Interchange Format)
    ..V.L. h261                 H.261
    D.V.L. h263                 H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
    ..V.L. h263i                Intel H.263
    ..V.L. h263p                H.263+ / H.263-1998 / H.263 version 2
    D.V.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    ..VIL. hap                  Vidvox Hap decoder
    D.V.L. hevc                 H.265 / HEVC (High Efficiency Video Coding)
    ..V.L. hnm4video            HNM 4 video
    ..VIL. hq_hqa               Canopus HQ/HQA
    ..VIL. hqx                  Canopus HQX
    ..VI.S huffyuv              HuffYUV
    ..V.L. idcin                id Quake II CIN video
    ..VI.. idf                  iCEDraw text
    ..V.L. iff_ilbm             IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN
    ..V.L. indeo2               Intel Indeo 2
    ..V.L. indeo3               Intel Indeo 3
    ..V.L. indeo4               Intel Indeo Video Interactive 4
    ..V.L. indeo5               Intel Indeo Video Interactive 5
    ..V.L. interplayvideo       Interplay MVE video
    ..VILS jpeg2000             JPEG 2000
    ..VILS jpegls               JPEG-LS
    ..VIL. jv                   Bitmap Brothers JV video
    ..V.L. kgv1                 Kega Game Video
    ..V.L. kmvc                 Karl Morton's video codec
    ..VI.S lagarith             Lagarith lossless
    ..VI.S ljpeg                Lossless JPEG
    ..VI.S loco                 LOCO
    ..VI.S m101                 Matrox Uncompressed SD
    ..V.L. mad                  Electronic Arts Madcow Video
    ..VI.S magicyuv             MagicYUV Lossless Video
    ..VIL. mdec                 Sony PlayStation MDEC (Motion DECoder)
    ..V.L. mimic                Mimic
    DEVIL. mjpeg                Motion JPEG
    ..VIL. mjpegb               Apple MJPEG-B
    ..V.L. mmvideo              American Laser Games MM Video
    ..V.L. motionpixels         Motion Pixels video
    ..V.L. mpeg1video           MPEG-1 video
    D.V.L. mpeg2video           MPEG-2 video
    D.V.L. mpeg4                MPEG-4 part 2
    ..V.L. mpegvideo_xvmc       MPEG-1/2 video XvMC (X-Video Motion Compensation)
    ..V.L. msa1                 MS ATC Screen
    ..V.L. msmpeg4v1            MPEG-4 part 2 Microsoft variant version 1
    ..V.L. msmpeg4v2            MPEG-4 part 2 Microsoft variant version 2
    ..V.L. msmpeg4v3            MPEG-4 part 2 Microsoft variant version 3
    ..V..S msrle                Microsoft RLE
    ..V.L. mss1                 MS Screen 1
    ..VIL. mss2                 MS Windows Media Video V9 Screen
    ..V.L. msvideo1             Microsoft Video 1
    ..VI.S mszh                 LCL (LossLess Codec Library) MSZH
    ..V.L. mts2                 MS Expression Encoder Screen
    ..VIL. mvc1                 Silicon Graphics Motion Video Compressor 1
    ..VIL. mvc2                 Silicon Graphics Motion Video Compressor 2
    ..V.L. mxpeg                Mobotix MxPEG video
    ..V.L. nuv                  NuppelVideo/RTJPEG
    ..V.L. paf_video            Amazing Studio Packed Animation File Video
    ..VI.S pam                  PAM (Portable AnyMap) image
    ..VI.S pbm                  PBM (Portable BitMap) image
    ..VI.S pcx                  PC Paintbrush PCX image
    ..VI.S pgm                  PGM (Portable GrayMap) image
    ..VI.S pgmyuv               PGMYUV (Portable GrayMap YUV) image
    ..VIL. pictor               Pictor/PC Paint
    ..V..S png                  PNG (Portable Network Graphics) image
    ..VI.S ppm                  PPM (Portable PixelMap) image
    ..VIL. prores               Apple ProRes (iCodec Pro)
    ..VIL. ptx                  V.Flash PTX image
    ..VI.S qdraw                Apple QuickDraw
    ..V.L. qpeg                 Q-team QPEG
    ..V..S qtrle                QuickTime Animation (RLE) video
    ..VI.S r10k                 AJA Kona 10-bit RGB Codec
    ..VI.S r210                 Uncompressed RGB 10-bit
    ..VI.S rawvideo             raw video
    ..VIL. rl2                  RL2 video
    ..V.L. roq                  id RoQ video
    ..V.L. rpza                 QuickTime video (RPZA)
    ..V..S rscc                 innoHeim/Rsupport Screen Capture Codec
    ..V.L. rv10                 RealVideo 1.0
    ..V.L. rv20                 RealVideo 2.0
    ..V.L. rv30                 RealVideo 3.0
    ..V.L. rv40                 RealVideo 4.0
    ..V.L. sanm                 LucasArts SANM/SMUSH video
    ..V..S screenpresso         Screenpresso
    ..VI.S sgi                  SGI image
    ..VI.S sgirle               SGI RLE 8-bit
    ..VI.S sheervideo           BitJazz SheerVideo
    ..V.L. smackvideo           Smacker video
    ..V.L. smc                  QuickTime Graphics (SMC)
    ..V... smvjpeg              Sigmatel Motion Video
    ..V.LS snow                 Snow
    ..VIL. sp5x                 Sunplus JPEG (SP5X)
    ..VI.S sunrast              Sun Rasterfile image
    ..V.L. svq1                 Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
    ..V.L. svq3                 Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
    ..VI.S targa                Truevision Targa image
    ..VI.. targa_y216           Pinnacle TARGA CineWave YUV16
    ..V.L. tdsc                 TDSC
    ..V.L. tgq                  Electronic Arts TGQ video
    ..V.L. tgv                  Electronic Arts TGV video
    D.V.L. theora               Theora
    ..VIL. thp                  Nintendo Gamecube THP video
    ..V.L. tiertexseqvideo      Tiertex Limited SEQ video
    ..VI.S tiff                 TIFF image
    ..VIL. tmv                  8088flex TMV
    ..V.L. tqi                  Electronic Arts TQI video
    ..V.L. truemotion1          Duck TrueMotion 1.0
    ..V.L. truemotion2          Duck TrueMotion 2.0
    ..V.L. truemotion2rt        Duck TrueMotion 2.0 Real Time
    ..V..S tscc                 TechSmith Screen Capture Codec
    ..V.L. tscc2                TechSmith Screen Codec 2
    ..VIL. txd                  Renderware TXD (TeXture Dictionary) image
    ..V.L. ulti                 IBM UltiMotion
    ..VI.S utvideo              Ut Video
    ..VI.S v210                 Uncompressed 4:2:2 10-bit
    ..VI.S v210x                Uncompressed 4:2:2 10-bit
    ..VI.. v308                 Uncompressed packed 4:4:4
    ..VI.. v408                 Uncompressed packed QT 4:4:4:4
    ..VI.S v410                 Uncompressed 4:4:4 10-bit
    ..V.L. vb                   Beam Software VB
    ..VI.S vble                 VBLE Lossless Codec
    ..V.L. vc1                  SMPTE VC-1
    ..V.L. vc1image             Windows Media Video 9 Image v2
    ..VIL. vcr1                 ATI VCR1
    ..VIL. vixl                 Miro VideoXL
    ..V.L. vmdvideo             Sierra VMD video
    ..V..S vmnc                 VMware Screen Codec / VMware Video
    D.V.L. vp3                  On2 VP3
    ..V.L. vp5                  On2 VP5
    ..V.L. vp6                  On2 VP6
    ..V.L. vp6a                 On2 VP6 (Flash version, with alpha channel)
    ..V.L. vp6f                 On2 VP6 (Flash version)
    ..V.L. vp7                  On2 VP7
    DEV.L. vp8                  On2 VP8 (encoders: libvpx )
    D.V.L. vp9                  Google VP9
    ..VILS webp                 WebP
    ..V.L. wmv1                 Windows Media Video 7
    ..V.L. wmv2                 Windows Media Video 8
    ..V.L. wmv3                 Windows Media Video 9
    ..V.L. wmv3image            Windows Media Video 9 Image
    ..VIL. wnv1                 Winnov WNV1
    ..V..S wrapped_avframe      AVFrame to AVPacket passthrough
    ..V.L. ws_vqa               Westwood Studios VQA (Vector Quantized Animation) video
    ..V.L. xan_wc3              Wing Commander III / Xan
    ..V.L. xan_wc4              Wing Commander IV / Xxan
    ..VI.. xbin                 eXtended BINary text
    ..VI.S xbm                  XBM (X BitMap) image
    ..VIL. xface                X-face image
    ..VI.S xwd                  XWD (X Window Dump) image
    ..VI.. y41p                 Uncompressed YUV 4:1:1 12-bit
    ..VI.S ylc                  YUY2 Lossless Codec
    ..V.L. yop                  Psygnosis YOP Video
    ..VI.. yuv4                 Uncompressed packed 4:2:0
    ..V..S zerocodec            ZeroCodec Lossless Video
    ..VI.S zlib                 LCL (LossLess Codec Library) ZLIB
    ..V..S zmbv                 Zip Motion Blocks Video
    ..A.L. 4gv                  4GV (Fourth Generation Vocoder)
    ..A.L. 8svx_exp             8SVX exponential
    ..A.L. 8svx_fib             8SVX fibonacci
    D.A.L. aac                  AAC (Advanced Audio Coding)
    ..A.L. aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)
    D.A.L. ac3                  ATSC A/52A (AC-3)
    ..A.L. adpcm_4xm            ADPCM 4X Movie
    ..A.L. adpcm_adx            SEGA CRI ADX ADPCM
    ..A.L. adpcm_afc            ADPCM Nintendo Gamecube AFC
    ..A.L. adpcm_aica           ADPCM Yamaha AICA
    ..A.L. adpcm_ct             ADPCM Creative Technology
    ..A.L. adpcm_dtk            ADPCM Nintendo Gamecube DTK
    ..A.L. adpcm_ea             ADPCM Electronic Arts
    ..A.L. adpcm_ea_maxis_xa    ADPCM Electronic Arts Maxis CDROM XA
    ..A.L. adpcm_ea_r1          ADPCM Electronic Arts R1
    ..A.L. adpcm_ea_r2          ADPCM Electronic Arts R2
    ..A.L. adpcm_ea_r3          ADPCM Electronic Arts R3
    ..A.L. adpcm_ea_xas         ADPCM Electronic Arts XAS
    ..A.L. adpcm_g722           G.722 ADPCM
    ..A.L. adpcm_g726           G.726 ADPCM
    ..A.L. adpcm_g726le         G.726 ADPCM little-endian
    ..A.L. adpcm_ima_amv        ADPCM IMA AMV
    ..A.L. adpcm_ima_apc        ADPCM IMA CRYO APC
    ..A.L. adpcm_ima_dat4       ADPCM IMA Eurocom DAT4
    ..A.L. adpcm_ima_dk3        ADPCM IMA Duck DK3
    ..A.L. adpcm_ima_dk4        ADPCM IMA Duck DK4
    ..A.L. adpcm_ima_ea_eacs    ADPCM IMA Electronic Arts EACS
    ..A.L. adpcm_ima_ea_sead    ADPCM IMA Electronic Arts SEAD
    ..A.L. adpcm_ima_iss        ADPCM IMA Funcom ISS
    ..A.L. adpcm_ima_oki        ADPCM IMA Dialogic OKI
    ..A.L. adpcm_ima_qt         ADPCM IMA QuickTime
    ..A.L. adpcm_ima_rad        ADPCM IMA Radical
    ..A.L. adpcm_ima_smjpeg     ADPCM IMA Loki SDL MJPEG
    ..A.L. adpcm_ima_wav        ADPCM IMA WAV
    ..A.L. adpcm_ima_ws         ADPCM IMA Westwood
    ..A.L. adpcm_ms             ADPCM Microsoft
    ..A.L. adpcm_mtaf           ADPCM MTAF
    ..A.L. adpcm_psx            ADPCM Playstation
    ..A.L. adpcm_sbpro_2        ADPCM Sound Blaster Pro 2-bit
    ..A.L. adpcm_sbpro_3        ADPCM Sound Blaster Pro 2.6-bit
    ..A.L. adpcm_sbpro_4        ADPCM Sound Blaster Pro 4-bit
    ..A.L. adpcm_swf            ADPCM Shockwave Flash
    ..A.L. adpcm_thp            ADPCM Nintendo THP
    ..A.L. adpcm_thp_le         ADPCM Nintendo THP (Little-Endian)
    ..A.L. adpcm_vima           LucasArts VIMA audio
    ..A.L. adpcm_xa             ADPCM CDROM XA
    ..A.L. adpcm_yamaha         ADPCM Yamaha
    ..A..S alac                 ALAC (Apple Lossless Audio Codec)
    ..A.L. amr_nb               AMR-NB (Adaptive Multi-Rate NarrowBand)
    ..A.L. amr_wb               AMR-WB (Adaptive Multi-Rate WideBand)
    ..A..S ape                  Monkey's Audio
    ..A.L. atrac1               ATRAC1 (Adaptive TRansform Acoustic Coding)
    ..A.L. atrac3               ATRAC3 (Adaptive TRansform Acoustic Coding 3)
    ..A.L. atrac3p              ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)
    ..A.L. avc                  On2 Audio for Video Codec
    ..A.L. binkaudio_dct        Bink Audio (DCT)
    ..A.L. binkaudio_rdft       Bink Audio (RDFT)
    ..A.L. bmv_audio            Discworld II BMV audio
    ..A.L. celt                 Constrained Energy Lapped Transform (CELT)
    ..A.L. comfortnoise         RFC 3389 Comfort Noise
    ..A.L. cook                 Cook / Cooker / Gecko (RealAudio G2)
    ..A.L. dsd_lsbf             DSD (Direct Stream Digital), least significant bit first
    ..A.L. dsd_lsbf_planar      DSD (Direct Stream Digital), least significant bit first, planar
    ..A.L. dsd_msbf             DSD (Direct Stream Digital), most significant bit first
    ..A.L. dsd_msbf_planar      DSD (Direct Stream Digital), most significant bit first, planar
    ..A.L. dsicinaudio          Delphine Software International CIN audio
    ..A.L. dss_sp               Digital Speech Standard - Standard Play mode (DSS SP)
    ..A..S dst                  DST (Direct Stream Transfer)
    ..A.LS dts                  DCA (DTS Coherent Acoustics)
    ..A.L. dvaudio              DV audio
    ..A.L. eac3                 ATSC A/52B (AC-3, E-AC-3)
    ..A.L. evrc                 EVRC (Enhanced Variable Rate Codec)
    ..A..S flac                 FLAC (Free Lossless Audio Codec)
    ..A.L. g723_1               G.723.1
    ..A.L. g729                 G.729
    ..A.L. gsm                  GSM
    ..A.L. gsm_ms               GSM Microsoft variant
    ..A.L. iac                  IAC (Indeo Audio Coder)
    ..A.L. ilbc                 iLBC (Internet Low Bitrate Codec)
    ..A.L. imc                  IMC (Intel Music Coder)
    ..A.L. interplay_dpcm       DPCM Interplay
    ..A.L. interplayacm         Interplay ACM
    ..A.L. mace3                MACE (Macintosh Audio Compression/Expansion) 3:1
    ..A.L. mace6                MACE (Macintosh Audio Compression/Expansion) 6:1
    ..A.L. metasound            Voxware MetaSound
    ..A..S mlp                  MLP (Meridian Lossless Packing)
    ..A.L. mp1                  MP1 (MPEG audio layer 1)
    ..A.L. mp2                  MP2 (MPEG audio layer 2)
    D.A.L. mp3                  MP3 (MPEG audio layer 3)
    ..A.L. mp3adu               ADU (Application Data Unit) MP3 (MPEG audio layer 3)
    ..A.L. mp3on4               MP3onMP4
    ..A..S mp4als               MPEG-4 Audio Lossless Coding (ALS)
    ..A.L. musepack7            Musepack SV7
    ..A.L. musepack8            Musepack SV8
    ..A.L. nellymoser           Nellymoser Asao
    DEA.L. opus                 Opus (Opus Interactive Audio Codec) (encoders: libopus )
    ..A.L. paf_audio            Amazing Studio Packed Animation File Audio
    ..A.L. pcm_alaw             PCM A-law / G.711 A-law
    ..A..S pcm_bluray           PCM signed 16|20|24-bit big-endian for Blu-ray media
    ..A..S pcm_dvd              PCM signed 20|24-bit big-endian
    ..A..S pcm_f32be            PCM 32-bit floating point big-endian
    ..A..S pcm_f32le            PCM 32-bit floating point little-endian
    ..A..S pcm_f64be            PCM 64-bit floating point big-endian
    ..A..S pcm_f64le            PCM 64-bit floating point little-endian
    ..A..S pcm_lxf              PCM signed 20-bit little-endian planar
    ..A.L. pcm_mulaw            PCM mu-law / G.711 mu-law
    ..A..S pcm_s16be            PCM signed 16-bit big-endian
    ..A..S pcm_s16be_planar     PCM signed 16-bit big-endian planar
    ..A..S pcm_s16le            PCM signed 16-bit little-endian
    ..A..S pcm_s16le_planar     PCM signed 16-bit little-endian planar
    ..A..S pcm_s24be            PCM signed 24-bit big-endian
    ..A..S pcm_s24daud          PCM D-Cinema audio signed 24-bit
    ..A..S pcm_s24le            PCM signed 24-bit little-endian
    ..A..S pcm_s24le_planar     PCM signed 24-bit little-endian planar
    ..A..S pcm_s32be            PCM signed 32-bit big-endian
    ..A..S pcm_s32le            PCM signed 32-bit little-endian
    ..A..S pcm_s32le_planar     PCM signed 32-bit little-endian planar
    ..A..S pcm_s8               PCM signed 8-bit
    ..A..S pcm_s8_planar        PCM signed 8-bit planar
    ..A..S pcm_u16be            PCM unsigned 16-bit big-endian
    ..A..S pcm_u16le            PCM unsigned 16-bit little-endian
    ..A..S pcm_u24be            PCM unsigned 24-bit big-endian
    ..A..S pcm_u24le            PCM unsigned 24-bit little-endian
    ..A..S pcm_u32be            PCM unsigned 32-bit big-endian
    ..A..S pcm_u32le            PCM unsigned 32-bit little-endian
    ..A..S pcm_u8               PCM unsigned 8-bit
    ..A.L. pcm_zork             PCM Zork
    ..A.L. qcelp                QCELP / PureVoice
    ..A.L. qdm2                 QDesign Music Codec 2
    ..A.L. qdmc                 QDesign Music
    ..A.L. ra_144               RealAudio 1.0 (14.4K)
    ..A.L. ra_288               RealAudio 2.0 (28.8K)
    ..A..S ralf                 RealAudio Lossless
    ..A.L. roq_dpcm             DPCM id RoQ
    ..A..S s302m                SMPTE 302M
    ..A.L. sdx2_dpcm            DPCM Squareroot-Delta-Exact
    ..A..S shorten              Shorten
    ..A.L. sipr                 RealAudio SIPR / ACELP.NET
    ..A.L. smackaudio           Smacker audio
    ..A.L. smv                  SMV (Selectable Mode Vocoder)
    ..A.L. sol_dpcm             DPCM Sol
    ..A... sonic                Sonic
    ..A... sonicls              Sonic lossless
    ..A.L. speex                Speex
    ..A..S tak                  TAK (Tom's lossless Audio Kompressor)
    ..A..S truehd               TrueHD
    ..A.L. truespeech           DSP Group TrueSpeech
    ..A..S tta                  TTA (True Audio)
    ..A.L. twinvq               VQF TwinVQ
    ..A.L. vmdaudio             Sierra VMD audio
    D.A.L. vorbis               Vorbis
    ..A.L. voxware              Voxware RT29 Metasound
    ..A... wavesynth            Wave synthesis pseudo-codec
    ..A.LS wavpack              WavPack
    ..A.L. westwood_snd1        Westwood Audio (SND1)
    ..A..S wmalossless          Windows Media Audio Lossless
    ..A.L. wmapro               Windows Media Audio 9 Professional
    ..A.L. wmav1                Windows Media Audio 1
    ..A.L. wmav2                Windows Media Audio 2
    ..A.L. wmavoice             Windows Media Audio Voice
    ..A.L. xan_dpcm             DPCM Xan
    ..A.L. xma1                 Xbox Media Audio 1
    ..A.L. xma2                 Xbox Media Audio 2
    ..D... bin_data             binary data
    ..D... dvd_nav_packet       DVD Nav packet
    ..D... klv                  SMPTE 336M Key-Length-Value (KLV) metadata
    ..D... otf                  OpenType font
    ..D... timed_id3            timed ID3 metadata
    ..D... ttf                  TrueType font
    D.S... ass                  ASS (Advanced SSA) subtitle (decoders: ssa ass )
    ..S... dvb_subtitle         DVB subtitles
    ..S... dvb_teletext         DVB teletext
    ..S... dvd_subtitle         DVD subtitles
    ..S... eia_608              EIA-608 closed captions
    ..S... hdmv_pgs_subtitle    HDMV Presentation Graphic Stream subtitles
    ..S... hdmv_text_subtitle   HDMV Text subtitle
    ..S... jacosub              JACOsub subtitle
    ..S... microdvd             MicroDVD subtitle
    ..S... mov_text             MOV text
    ..S... mpl2                 MPL2 subtitle
    ..S... pjs                  PJS (Phoenix Japanimation Society) subtitle
    ..S... realtext             RealText subtitle
    ..S... sami                 SAMI subtitle
    ..S... srt                  SubRip subtitle with embedded timing
    ..S... ssa                  SSA (SubStation Alpha) subtitle
    ..S... stl                  Spruce subtitle format
    D.S... subrip               SubRip subtitle (decoders: srt )
    ..S... subviewer            SubViewer subtitle
    ..S... subviewer1           SubViewer v1 subtitle
    ..S... text                 raw UTF-8 text
    ..S... vplayer              VPlayer subtitle
    D.S... webvtt               WebVTT subtitle
    ..S... xsub                 XSUB