Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (59)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (7271)

  • Inject FFMPEG video converter directly into .NET C# ?

    3 juillet 2021, par Mehdi Daustany

    How to implement FFMPEG in .NET Core C# ?

    


    I'm using FFMPEG as a batch file, I prepared a jobs queue, then Hangfire picks queue rows to sending to the batch file to starting convert by FFMPEG.

    


    I need to inform users by a progress bar, because of using FFMPEG as a CLI third-party, it is unachievable.
Is there any nuget package or any way to inject FFMPEG into .NET ?

    


  • Fail build rav1e ffmpeg in ubuntu based Docker

    27 mai 2021, par Kodsama

    I a trying to build a Docker with ffmpeg which supports (encode/decode), av1, h26x, vpx. Everything runs fine apart the build for rav1e (if I comment out —enable-librav1e and the rav1e run part it goes through without problem).

    


    I could not find any specific other dependencies which are needed for the built.

    


    Any idea what is missing ?

    


    The Dockerfile :

    


    FROM ubuntu

ARG DEBIAN_FRONTEND=noninteractive

RUN apt -y update
RUN apt install -y autoconf
RUN apt install -y --force-yes automake
RUN apt install -y --force-yes build-essential
RUN apt install -y --force-yes pkg-config
RUN apt install -y --force-yes libtool
RUN apt install -y --force-yes wget
RUN apt install -y --force-yes yasm
RUN apt install -y --force-yes libx264-dev
RUN mkdir /root/source
RUN mkdir /root/source/ffmpeg
RUN cd /root/source/ffmpeg && \
  wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master && \
  tar xzvf fdk-aac.tar.gz && \
  cd mstorsjo-fdk-aac* && \
  autoreconf -fiv && \
  ./configure --disable-shared && \
  make && \
  make install && \
  make distclean
RUN apt install -y --force-yes git
RUN apt install -y --force-yes cmake
RUN apt install -y --force-yes python2.7
RUN mkdir -p /root/source/ffmpeg/libaom && \
  cd /root/source/ffmpeg/libaom && \
  git clone https://aomedia.googlesource.com/aom && \
  cmake ./aom && \
  make && \
  make install
RUN apt install -y --force-yes python3 python3-pip ninja-build
RUN pip3 install meson
RUN apt install -y --force-yes nasm
RUN cd /root/source/ffmpeg && \
  git clone https://code.videolan.org/videolan/dav1d.git && \
  cd dav1d && \
  meson build --buildtype release && \
  ninja -C build && \
  ninja -C build install && \
  ldconfig
RUN apt install -y --force-yes cargo perl clang
RUN cd /root/source/ffmpeg && \
  git clone https://github.com/xiph/rav1e.git && \
  cd rav1e && \
  git submodule update --init && \
  cargo build --release && \
  ldconfig
RUN apt install -y --force-yes libvpx-dev
RUN apt install -y --force-yes libssl-dev
RUN DEBIAN_FRONTEND=noninteractive apt install -y --force-yes tclsh
RUN cd /root/source/ffmpeg && \
  git clone https://github.com/Haivision/srt.git && \
  cd srt && \
  ./configure && \
  make && \
  make install && \
  ldconfig
RUN apt install -y --force-yes libx265-dev libnuma-dev
RUN apt install -y --force-yes libfreetype6-dev
RUN apt install -y --force-yes libopus-dev
RUN apt install -y --force-yes openssl
RUN apt install -y --force-yes libssl-dev
RUN apt install -y --force-yes libmp3lame-dev
RUN cd /root/source/ffmpeg && \
  git clone https://github.com/ffmpeg/ffmpeg.git && \
  cd ffmpeg && \
  ./configure \
    --pkg-config-flags="--static" \
    --enable-gpl \
    --enable-libfdk-aac \
    --enable-libx264 \
    --enable-libx265 \
    --enable-libaom \
    --enable-libdav1d \
    --enable-librav1e \
    --enable-libvpx \
    --enable-libsrt \
    --enable-libfreetype \
    --enable-libopus \
    --enable-libmp3lame \
    --enable-version3 \
    --enable-openssl \
    --enable-nonfree && \
  make && \
  make install && \
  make distclean && \
  hash -r


    


    The (partial) output error :

    


     => ERROR [23/34] RUN cd /root/source/ffmpeg &&   git clone https://github.com/xiph/rav1e.git  37.9s
------
 > [23/34] RUN cd /root/source/ffmpeg &&   git clone https://github.com/xiph/rav1e.git &&   cd rav1e &&   git submodule update --init &&   cargo build --release &&   ldconfig:
#27 0.360 Cloning into 'rav1e'...
#27 6.571     Updating crates.io index
#27 24.37  Downloading crates ...
#27 26.09   Downloaded aho-corasick v0.7.18
#27 26.12   Downloaded av-metrics v0.6.2
#27 26.13   Downloaded crossbeam v0.8.0
#27 26.14   Downloaded rust_hawktracer_normal_macro v0.4.1
#27 26.17   Downloaded semver v0.11.0
#27 26.19   Downloaded semver-parser v0.10.2
#27 26.21   Downloaded signal-hook-registry v1.3.0
#27 26.23   Downloaded arrayvec v0.7.0
#27 26.26   Downloaded bitstream-io v1.0.0
#27 26.27   Downloaded console v0.14.1
#27 26.28   Downloaded crossbeam-queue v0.3.1
#27 26.30   Downloaded crossbeam-utils v0.8.4
#27 26.37   Downloaded itertools v0.10.0
#27 26.38   Downloaded jobserver v0.1.22
#27 26.38   Downloaded lab v0.8.2
#27 26.39   Downloaded nasm-rs v0.2.0
#27 26.39   Downloaded memoffset v0.6.3
#27 26.39   Downloaded num-derive v0.3.3
#27 26.40   Downloaded noop_proc_macro v0.3.0
#27 26.40   Downloaded bitflags v1.2.1
#27 26.48   Downloaded cfg-if v1.0.0
#27 26.49   Downloaded textwrap v0.11.0
#27 26.52   Downloaded chrono v0.4.19
#27 26.53   Downloaded log v0.4.14
#27 26.55   Downloaded cc v1.0.68
#27 26.55   Downloaded num-integer v0.1.44
#27 26.60   Downloaded libc v0.2.95
#27 26.62   Downloaded memchr v2.4.0
#27 26.62   Downloaded autocfg v1.0.1
#27 26.62   Downloaded atty v0.2.14
#27 26.63   Downloaded clap v2.33.3
#27 26.64   Downloaded num-traits v0.2.14
#27 26.64   Downloaded crossbeam-epoch v0.9.4
#27 26.64   Downloaded paste v1.0.5
#27 26.65   Downloaded pest v2.1.3
#27 26.68   Downloaded rayon-core v1.9.1
#27 26.72   Downloaded rustc_version v0.3.3
#27 26.72   Downloaded rust_hawktracer v0.7.0
#27 26.72   Downloaded rust_hawktracer_proc_macro v0.4.1
#27 26.72   Downloaded rayon v1.5.1
#27 26.73   Downloaded signal-hook v0.3.8
#27 26.73   Downloaded thiserror v1.0.25
#27 26.74   Downloaded terminal_size v0.1.17
#27 26.74   Downloaded thiserror-impl v1.0.25
#27 26.74   Downloaded scopeguard v1.1.0
#27 26.74   Downloaded regex v1.5.4
#27 26.75   Downloaded quote v1.0.9
#27 26.75   Downloaded proc-macro2 v1.0.27
#27 26.75   Downloaded num_cpus v1.13.0
#27 26.75   Downloaded simd_helpers v0.1.0
#27 26.75   Downloaded scan_fmt v0.2.6
#27 26.77   Downloaded syn v1.0.72
#27 26.78   Downloaded ucd-trie v0.1.3
#27 26.78   Downloaded arrayvec v0.5.2
#27 26.78   Downloaded crossbeam-channel v0.5.1
#27 26.79   Downloaded unicode-xid v0.2.2
#27 26.79   Downloaded unicode-width v0.1.8
#27 26.79   Downloaded y4m v0.7.0
#27 26.79   Downloaded either v1.6.1
#27 26.79   Downloaded lazy_static v1.4.0
#27 26.79   Downloaded crossbeam-deque v0.8.0
#27 26.79   Downloaded ansi_term v0.11.0
#27 26.80   Downloaded arg_enum_proc_macro v0.3.1
#27 26.80   Downloaded time v0.1.43
#27 26.80   Downloaded regex-syntax v0.6.25
#27 26.81   Downloaded fern v0.6.0
#27 26.81  Downloading crates ...
#27 27.22   Downloaded arbitrary v0.4.7
#27 27.23  Downloading crates ...
#27 27.70   Downloaded assert_cmd v1.0.4
#27 27.70  Downloading crates ...
#27 28.12   Downloaded criterion v0.3.4
#27 28.14  Downloading crates ...
#27 28.53   Downloaded interpolate_name v0.2.3
#27 28.53  Downloading crates ...
#27 28.95   Downloaded libfuzzer-sys v0.3.5
#27 28.95  Downloading crates ...
#27 29.37   Downloaded pretty_assertions v0.7.2
#27 29.38  Downloading crates ...
#27 29.78   Downloaded rand v0.8.3
#27 29.79  Downloading crates ...
#27 30.18   Downloaded rand_chacha v0.3.0
#27 30.21    Compiling autocfg v1.0.1
#27 30.21    Compiling libc v0.2.95
#27 30.21    Compiling cfg-if v1.0.0
#27 30.21    Compiling lazy_static v1.4.0
#27 30.29    Compiling proc-macro2 v1.0.27
#27 30.32    Compiling unicode-xid v0.2.2
#27 30.51    Compiling scopeguard v1.1.0
#27 30.56    Compiling rayon-core v1.9.1
#27 30.85    Compiling syn v1.0.72
#27 31.27    Compiling memchr v2.4.0
#27 31.42    Compiling either v1.6.1
#27 31.52    Compiling ucd-trie v0.1.3
#27 31.84    Compiling bitflags v1.2.1
#27 31.95    Compiling regex-syntax v0.6.25
#27 32.26    Compiling log v0.4.14
#27 32.61    Compiling unicode-width v0.1.8
#27 32.62    Compiling rust_hawktracer_normal_macro v0.4.1
#27 32.67    Compiling arrayvec v0.5.2
#27 32.69    Compiling rust_hawktracer_proc_macro v0.4.1
#27 32.87    Compiling noop_proc_macro v0.3.0
#27 32.94    Compiling signal-hook v0.3.8
#27 33.18    Compiling lab v0.8.2
#27 33.40    Compiling bitstream-io v1.0.0
#27 33.68    Compiling ansi_term v0.11.0
#27 33.68    Compiling y4m v0.7.0
#27 33.97    Compiling scan_fmt v0.2.6
#27 34.01    Compiling arrayvec v0.7.0
#27 34.04    Compiling paste v1.0.5
#27 34.06 error[E0658]: const generics are unstable
#27 34.06   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/arrayvec-0.7.0/src/arrayvec.rs:42:30
#27 34.06    |
#27 34.06 42 | pub struct ArrayVec {
#27 34.06    |                              ^^^
#27 34.06    |
#27 34.06    = note: see issue #74878 /github.com/rust-lang/rust/issues/74878> for more information
#27 34.06
#27 34.06 error[E0658]: const generics are unstable

[...]

#27 34.06  --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/arrayvec-0.7.0/src/utils.rs:6:15
#27 34.06   |
#27 34.06 6 | impl MakeMaybeUninit {
#27 34.06   |               ^
#27 34.06   |
#27 34.06   = note: see issue #74878 /github.com/rust-lang/rust/issues/74878> for more information
#27 34.06
#27 34.14 error: aborting due to 70 previous errors
#27 34.14
#27 34.14 For more information about this error, try `rustc --explain E0658`.
#27 34.15 error: could not compile `arrayvec`.
#27 34.15
#27 34.15 To learn more, run the command again with --verbose.
#27 34.15 warning: build failed, waiting for other jobs to finish...
#27 37.83 error: build failed
------
executor failed running [/bin/sh -c cd /root/source/ffmpeg &&   git clone https://github.com/xiph/rav1e.git &&   cd rav1e &&   git submodule update --init &&   cargo build --release &&   ldconfig]: exit code: 101


    


  • Transcoding with the GCP Transcoder API results in a time gap

    3 mars 2021, par banyan

    I've been trying GCP's Transcoder API and having trouble with the time randomly becoming shorter than specified in certain cases.

    


    The specific cases are as follows :

    


      

    1. Specifying startTimeOffset and endTimeOffset (cut off 2 seconds before and after the video)
    2. 


    3. fMP4 is used as container
    4. 


    5. input video is mp4 with screen recording on iPad Pro
    6. 


    


    For example, if I don't specify startTimeOffset and endTimeOffset, the time will not be shortened. Also, there is no problem when MPEG2-TS is specified for container. There may be a problem with the video itself, but I haven't found a clue how to set it up.

    


    I'm not sure whether this is a problem with the Transcoder API or with me.

    


    The test input video : https://gofile.io/d/DUT9rr

    


    ❯ ffprobe input.mp4
ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.28)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_8 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: isommp41mp42
    creation_time   : 2021-02-26T15:08:58.000000Z
  Duration: 00:02:51.15, start: 0.000000, bitrate: 551 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 246 kb/s (default)
    Metadata:
      creation_time   : 2021-02-26T15:08:58.000000Z
      handler_name    : Core Media Audio
    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709/bt709/iec61966-2-1), 1920x1342, 302 kb/s, 12.39 fps, 120 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      rotate          : 180
      creation_time   : 2021-02-26T15:08:58.000000Z
      handler_name    : Core Media Video
    Side data:
      displaymatrix: rotation of -180.00 degrees


    


    #!/bin/bash -eu

cat > request.json << EOF
{
  "config": {
    "inputs": [
      {
        key: "input0"
      }
    ],
    "editList": [
      {
        "key": "atom0",
        "inputs": [
          "input0"
        ],
        "startTimeOffset": "2s",
        "endTimeOffset": "169s",
      },
    ],
    "elementaryStreams": [
      {
        "videoStream": {
          "codec": "h265",
          "heightPixels": 480,
          "bitrateBps": 1200000,
          "rateControlMode": "vbr",
          "enableTwoPass": true,
          "frameRate": 30,
          "crfLevel": 31,
          "gopDuration": "3.0s",
        },
        "key": "h265-stream0"
      },
      {
        "videoStream": {
          "codec": "h265",
          "heightPixels": 720,
          "bitrateBps": 1550000,
          "rateControlMode": "vbr",
          "enableTwoPass": true,
          "frameRate": 30,
          "crfLevel": 31,
          "gopDuration": "3.0s",
        },
        "key": "h265-stream1"
      },
      {
        "videoStream": {
          "codec": "h265",
          "heightPixels": 1080,
          "bitrateBps": 2600000,
          "rateControlMode": "vbr",
          "enableTwoPass": true,
          "frameRate": 30,
          "crfLevel": 31,
          "gopDuration": "3.0s",
        },
        "key": "h265-stream2"
      },
      {
        "audioStream": {
          "codec": "aac",
          "bitrateBps": 64000,
          "channelCount": 2,
          "channelLayout": [
            "fl",
            "fr"
          ],
          "sampleRateHertz": 48000
        },
        "key": "audio-stream0"
      },
    ],
    "muxStreams": [
      {
        "key": "media-sd",
        "fileName": "media-sd.m4s",
        "container": "fmp4",
        "elementaryStreams": [
          "h265-stream0",
        ],
        "segmentSettings": {
          "individualSegments": true
        },
      },
      {
        "key": "media-hd",
        "fileName": "media-hd.m4s",
        "container": "fmp4",
        "elementaryStreams": [
          "h265-stream1",
        ],
        "segmentSettings": {
          "individualSegments": true
        },
      },
      {
        "key": "media-fhd",
        "fileName": "media-fhd.m4s",
        "container": "fmp4",
        "elementaryStreams": [
          "h265-stream2",
        ],
        "segmentSettings": {
          "individualSegments": true
        },
      },
      {
        "key": "audio-only",
        "fileName": "audio-only.m4s",
        "container": "fmp4",
        "elementaryStreams": [
          "audio-stream0"
        ],
        "segmentSettings": {
          "individualSegments": true
        },
      },
    ],
    "manifests": [
      {
        "fileName": "manifest-h265.mpd",
        "type": "DASH",
        "muxStreams": [
          "media-sd",
          "media-hd",
          "media-fhd",
          "audio-only",
        ]
      },
    ]
  }
}
EOF

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://transcoder.googleapis.com/v1beta1/projects/MY_PROJECT/locations/asia-east1/jobTemplates?jobTemplateId=test-template


    


    #!/bin/bash -eu

cat > request.json << EOF
{
  "inputUri": "gs://my-bucket/input.mp4",
  "outputUri": "gs://my-bucket/output/",
  "templateId": "test-template"
}
EOF

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://transcoder.googleapis.com/v1beta1/projects/MY_PROJECT/locations/asia-east1/jobs


    


    The following is a ffprobe of the resulting manifest file, which is 2 seconds shorter than specified. (expected : 00:02:47.00, actual : 00:02:45.00) In this case, it's a 2-second gap, but it can be 10 seconds or 30 seconds, and it varies from video to video.

    


    ❯ ffprobe manifest-h265.mpd
ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.28)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_8 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, dash, from 'manifest-h265.mpd':
  Duration: 00:02:45.00, start: 0.000000, bitrate: 0 kb/s
  Program 0
    Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/unknown/unknown), 686x480, 112 kb/s, 30 fps, 120 tbr, 10k tbn, 30 tbc
    Metadata:
      variant_bitrate : 113679
      id              : 113679
    Stream #0:1: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/unknown/unknown), 1030x720, 205 kb/s, 30 fps, 120 tbr, 10k tbn, 30 tbc
    Metadata:
      variant_bitrate : 189219
      id              : 189219
    Stream #0:2: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/unknown/unknown), 1544x1080, 384 kb/s, 30 fps, 120 tbr, 10k tbn, 30 tbc
    Metadata:
      variant_bitrate : 358043
      id              : 358043
    Stream #0:3: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 65 kb/s
    Metadata:
      variant_bitrate : 70245
      id              : 70245


    


    The following is the time as specified for h264 + MPEG2-TS + Apple HLS.

    


    ❯ ffprobe manifest-h264.m3u8 | pbcopy
ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.28)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_8 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[hls @ 0x7fe23100f200] Opening 'h264-sd-ts.m3u8' for reading
[hls @ 0x7fe23100f200] Skip ('#EXT-X-VERSION:4')
[hls @ 0x7fe23100f200] Opening 'h264-hd-ts.m3u8' for reading
[hls @ 0x7fe23100f200] Skip ('#EXT-X-VERSION:4')
[hls @ 0x7fe23100f200] Opening 'h264-fhd-ts.m3u8' for reading
[hls @ 0x7fe23100f200] Skip ('#EXT-X-VERSION:4')
[hls @ 0x7fe23100f200] Opening 'h264-sd0000000000.ts' for reading
[hls @ 0x7fe23100f200] Opening 'h264-hd0000000000.ts' for reading
[hls @ 0x7fe23100f200] Opening 'h264-fhd0000000000.ts' for reading
Input #0, hls, from 'manifest-h264.m3u8':
  Duration: 00:02:47.00, start: 0.000000, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 511576
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 686x480, 120 tbr, 90k tbn, 2000k tbc
    Metadata:
      variant_bitrate : 511576
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 511576
  Program 1
    Metadata:
      variant_bitrate : 793711
    Stream #0:2: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1030x720, 120 tbr, 90k tbn, 2000k tbc
    Metadata:
      variant_bitrate : 793711
    Stream #0:3: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 793711
  Program 2
    Metadata:
      variant_bitrate : 1305288
    Stream #0:4: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1544x1080, 120 tbr, 90k tbn, 2000k tbc
    Metadata:
      variant_bitrate : 1305288
    Stream #0:5: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 1305288