Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tonemap_cuda and tonemap_opencl do not strip DOVI sidedata when targeting SDR #483

Closed
mertalev opened this issue Oct 20, 2024 · 11 comments · Fixed by #484
Closed

tonemap_cuda and tonemap_opencl do not strip DOVI sidedata when targeting SDR #483

mertalev opened this issue Oct 20, 2024 · 11 comments · Fixed by #484
Labels
bug Something isn't working

Comments

@mertalev
Copy link

mertalev commented Oct 20, 2024

Describe The Bug

When tone-mapping to SDR, this side data can cause playback issues on some clients, especially on iOS and Android.

On iOS with AVPlayer, it is ignored if the transcode uses H.264, but transcoding to HEVC leads to the video stream not being displayed (audio plays).

On Android with Exoplayer, it is ignored if the transcode uses HEVC, but transcoding to H.264 leads to an assertion failure because the DOVI metadata is only valid for HEVC.

tonemapx doesn't have this issue because it strips DOVI side data. Would it be possible to do the same when targeting SDR output for these filters?

Steps To Reproduce

  1. Use this video
  2. Run a command that uses tonemap_cuda or tonemap_opencl and converts to bt709. I tested with this: ffmpeg -hwaccel cuda -hwaccel_output_format cuda -noautorotate -threads 1 -i IMG_3218.MOV -y -tune hq -qmin 0 -rc-lookahead 20 -i_qfactor 0.75 -c:v h264_nvenc -c:a copy -movflags faststart -fps_mode passthrough -map 0:0 -strict unofficial -map 0:1 -bf 4 -refs 4 -g 256 -b_ref_mode middle -b_qfactor 1.1 -temporal-aq 1 -v verbose -vf tonemap_cuda=desat=0:matrix=bt709:primaries=bt709:range=pc:tonemap=hable:transfer=bt709:format=nv12:tradeoff=0:tonemap_mode=itp -preset p7 -cq:v 23 IMG_3218_cuda.mp4
  3. Run ffprobe IMG_3218_cuda.mp4 and observe this entry in the side data: DOVI configuration record: version: 1.0, profile: 8, level: 5, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 4

Expected Behavior

The video shouldn't have incompatible DOVI metadata.

System (please complete the following information):

  • Platform: Linux
  • Operating System: Ubuntu 24.04
  • Virtualization: WSL2
  • Jellyfin-FFmpeg Version: 7.0.2-4 (built from jellyfin branch)
  • Hardware Acceleration: NVENC
  • CPU & GPU Model: 7800X3D & RTX 4090

MediaInfo

General
Complete name                            : IMG_3218.MOV
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt   0000.00 (qt  )
File size                                : 19.4 MiB
Duration                                 : 11 s 828 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 13.8 Mb/s
Frame rate                               : 59.940 FPS
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC
Writing library                          : Apple QuickTime
com.apple.quicktime.location.accuracy.ho : 22.785677
com.apple.quicktime.location.ISO6709     : +10.7731+106.7047+014.187/
com.apple.quicktime.make                 : Apple
com.apple.quicktime.model                : iPhone 15
com.apple.quicktime.software             : 17.4.1
com.apple.quicktime.creationdate         : 2024-05-29T18:04:24+0700

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L4.1@Main
HDR format                               : Dolby Vision, Version 1.0, Profile 8.4, dvhe.08.05, BL+RPU, HLG compatible
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 11 s 828 ms
Bit rate                                 : 13.4 Mb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Frame rate                               : 59.940 (59940/1000) FPS
Minimum frame rate                       : 54.545 FPS
Maximum frame rate                       : 60.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.108
Stream size                              : 18.9 MiB (97%)
Title                                    : Core Media Video
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : HLG
Matrix coefficients                      : BT.2020 non-constant
Metas                                    : 3,4,5
Codec configuration box                  : hvcC+dvvC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 11 s 827 ms
Source duration                          : 11 s 889 ms
Bit rate mode                            : Variable
Bit rate                                 : 184 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 266 KiB (1%)
Source stream size                       : 267 KiB (1%)
Title                                    : Core Media Audio
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC

Other #1
ID                                       : 3
Type                                     : meta
Format                                   : mebx
Codec ID                                 : mebx
Duration                                 : 11 s 828 ms
Title                                    : Core Media Metadata
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC

Other #2
ID                                       : 4
Type                                     : meta
Format                                   : mebx
Codec ID                                 : mebx
Duration                                 : 11 s 828 ms
Title                                    : Core Media Metadata
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC

Other #3
ID                                       : 5
Type                                     : meta
Format                                   : mebx
Codec ID                                 : mebx
Duration                                 : 11 s 828 ms
Bit rate mode                            : Variable
Title                                    : Core Media Metadata
Encoded date                             : 2024-05-29 11:04:24 UTC
Tagged date                              : 2024-05-29 11:04:36 UTC

FFmpeg Logs

ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_3218.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2024-05-29T11:04:24.000000Z
    com.apple.quicktime.location.accuracy.horizontal: 22.785677
    com.apple.quicktime.location.ISO6709: +10.7731+106.7047+014.187/
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 15
    com.apple.quicktime.software: 17.4.1
    com.apple.quicktime.creationdate: 2024-05-29T18:04:24+0700
  Duration: 00:00:11.83, start: 0.000000, bitrate: 13784 kb/s
  Stream #0:0[0x1](und): Video: hevc (Main 10), 1 reference frame (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67, left), 1920x1080, 13416 kb/s, 59.94 fps, 59.94 tbr, 600 tbn (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Video
        vendor_id       : [0][0][0][0]
        encoder         : HEVC
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 5, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 4
        Ambient Viewing Environment, ambient_illuminance=314.000000, ambient_light_x=0.312700, ambient_light_y=0.329000
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 183 kb/s (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Audio
        vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Metadata
  Stream #0:3[0x4](und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Metadata
  Stream #0:4[0x5](und): Data: none (mebx / 0x7862656D), 168 kb/s (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Metadata
[out#0/mp4 @ 0x55dd09bd8840] No explicit maps, mapping streams automatically...
[vost#0:0 @ 0x55dd09bde9c0] Matched encoder 'libx264' for codec 'h264'.
[vost#0:0/libx264 @ 0x55dd09bde9c0] Created video stream from input stream 0:0
[tonemapx @ 0x55dd09c40900] Using CPU capabilities: AVX2 FMA3
[aost#0:1/copy @ 0x55dd0aa5c3c0] Created audio stream from input stream 0:1
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
[vost#0:0/libx264 @ 0x55dd09bde9c0] Starting thread...
[vf#0:0 @ 0x55dd09bff100] Starting thread...
[vist#0:0/hevc @ 0x55dd09bffdc0] [dec:hevc @ 0x55dd09c40140] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180] Starting thread...
Press [q] to stop, [?] for help
[tonemapx @ 0x7f35d00038c0] Using CPU capabilities: AVX2 FMA3
[graph 0 input from stream 0:0 @ 0x7f35d0006d00] w:1920 h:1080 pixfmt:yuv420p10le tb:1/600 fr:60000/1001 sar:0/1 csp:bt2020nc range:tv
[graph 0 input from stream 0:0 @ 0x7f35d0006d00] video frame properties congruent with link at pts_time: 0
[libx264 @ 0x55dd09bdda00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x55dd09bdda00] profile Constrained Baseline, level 4.2, 4:2:0, 8-bit
[libx264 @ 0x55dd09bdda00] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to 'IMG_3218_tonemapx.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    com.apple.quicktime.creationdate: 2024-05-29T18:04:24+0700
    com.apple.quicktime.location.accuracy.horizontal: 22.785677
    com.apple.quicktime.location.ISO6709: +10.7731+106.7047+014.187/
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 15
    com.apple.quicktime.software: 17.4.1
    encoder         : Lavf61.1.100
  Stream #0:0(und): Video: h264, 1 reference frame (avc1 / 0x31637661), yuv420p(pc, bt709, progressive, left), 1920x1080, q=2-31, 59.94 fps, 60k tbn (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Video
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.3.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
        DOVI configuration record: version: 1.0, profile: 8, level: 5, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 4
        Ambient Viewing Environment, ambient_illuminance=314.000000, ambient_light_x=0.312700, ambient_light_y=0.329000
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 183 kb/s (default)
      Metadata:
        creation_time   : 2024-05-29T11:04:24.000000Z
        handler_name    : Core Media Audio
        vendor_id       : [0][0][0][0]
[out#0/mp4 @ 0x55dd09bd8840] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180] EOF while reading input051.8kbits/s speed=5.45x
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180] Terminating thread with return code 0 (success)
[vist#0:0/hevc @ 0x55dd09bffdc0] [dec:hevc @ 0x55dd09c40140] Decoder thread received EOF packet
[vist#0:0/hevc @ 0x55dd09bffdc0] [dec:hevc @ 0x55dd09c40140] Decoder returned EOF, finishing
[vist#0:0/hevc @ 0x55dd09bffdc0] [dec:hevc @ 0x55dd09c40140] Terminating thread with return code 0 (success)
[vf#0:0 @ 0x55dd09bff100] Filtergraph returned EOF, finishing
[vf#0:0 @ 0x55dd09bff100] All consumers returned EOF
[vf#0:0 @ 0x55dd09bff100] Terminating thread with return code 0 (success)
[vost#0:0/libx264 @ 0x55dd09bde9c0] Encoder thread received EOF
[vost#0:0/libx264 @ 0x55dd09bde9c0] Terminating thread with return code 0 (success)
[out#0/mp4 @ 0x55dd09bd8840] All streams finished
[out#0/mp4 @ 0x55dd09bd8840] Terminating thread with return code 0 (success)
[AVIOContext @ 0x55dd0aa9d040] Statistics: 71435088 bytes written, 2 seeks, 276 writeouts
[out#0/mp4 @ 0x55dd09bd8840] Output file #0 (IMG_3218_tonemapx.mp4):
[out#0/mp4 @ 0x55dd09bd8840]   Output stream #0:0 (video): 709 frames encoded; 709 packets muxed (71146574 bytes);
[out#0/mp4 @ 0x55dd09bd8840]   Output stream #0:1 (audio): 512 packets muxed (273311 bytes);
[out#0/mp4 @ 0x55dd09bd8840]   Total: 1221 packets (71419885 bytes) muxed
[out#0/mp4 @ 0x55dd09bd8840] video:69479KiB audio:267KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.021281%
frame=  709 fps=341 q=-1.0 Lsize=   69761KiB time=00:00:11.82 bitrate=48321.4kbits/s speed=5.69x
[libx264 @ 0x55dd09bdda00] frame I:3     Avg QP:22.00  size:412770
[libx264 @ 0x55dd09bdda00] frame P:706   Avg QP:27.02  size: 99019
[libx264 @ 0x55dd09bdda00] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x55dd09bdda00] mb P  I16..4:  1.7%  0.0%  0.0%  P16..4: 58.9%  0.0%  0.0%  0.0%  0.0%    skip:39.4%
[libx264 @ 0x55dd09bdda00] coded y,uvDC,uvAC intra: 51.8% 38.2% 18.5% inter: 42.4% 11.7% 2.3%
[libx264 @ 0x55dd09bdda00] i16 v,h,dc,p: 30% 43% 18%  9%
[libx264 @ 0x55dd09bdda00] i8c dc,h,v,p: 41% 27% 24%  8%
[libx264 @ 0x55dd09bdda00] kb/s:48118.41
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180] Input file #0 (IMG_3218.MOV):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180]   Input stream #0:0 (video): 709 packets read (19836364 bytes); 709 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180]   Input stream #0:1 (audio): 512 packets read (273311 bytes);
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55dd09bd6180]   Total: 1221 packets (20109675 bytes) demuxed
[AVIOContext @ 0x55dd09bdec80] Statistics: 43256759 bytes read, 938 seeks

Additional Context

This side data is only added when -strict unofficial is used. We removed this flag for now, but it's not ideal since it also means spherical metadata etc. is removed.

@mertalev mertalev added the bug Something isn't working label Oct 20, 2024
@nyanmisaka
Copy link
Member

Frame filters cannot remove the metadata from lower level packets and streams.

@nyanmisaka
Copy link
Member

Not sure if you can use this before the input file, otherwise you have to run the ffmpeg command twice to get rid of it.

#480

@mertalev
Copy link
Author

mertalev commented Oct 20, 2024

Frame filters cannot remove the metadata from lower level packets and streams.

Oh, you're right. The tonemapx command didn't have -strict unofficial set. When I add that, it's the same result.

Not sure if you can use this before the input file, otherwise you have to run the ffmpeg command twice to get rid of it.

#480

It works if I copy the video stream, but not if I transcode it. Removing it beforehand would affect tone-mapping, right? Is there a way to remove it afterwards for H.264?

@nyanmisaka
Copy link
Member

That's an HLG-compatible DoVi video, meaning DoVi dynamic metadata is not necessary for tonemapping.

@mertalev
Copy link
Author

Nice, so it's fine to remove it beforehand after all. It does work if I run these commands:

  1. ffmpeg -i IMG_3218.MOV -c copy -v verbose -strict unofficial -bsf:v hevc_metadata=remove_dovi=1 IMG_3218_no_dovi.mp4 -y
  2. ffmpeg -hwaccel cuda -hwaccel_output_format cuda -noautorotate -threads 1 -i IMG_3218_no_dovi.mp4 -y -tune hq -qmin 0 -rc-lookahead 20 -i_qfactor 0.75 -c:v h264_nvenc -c:a copy -movflags faststart -fps_mode passthrough -map 0:0 -strict unofficial -map 0:1 -bf 4 -refs 4 -g 256 -b_ref_mode middle -b_qfactor 1.1 -temporal-aq 1 -v verbose -vf tonemap_cuda=desat=0:matrix=bt709:primaries=bt709:range=pc:tonemap=hable:transfer=bt709:format=nv12:tradeoff=0:tonemap_mode=itp:peak=100 -preset p7 -cq:v 23 IMG_3218_cuda.mp4

A bit unfortunate that it has to be in two passes, but it seems it can't be helped.

@mertalev
Copy link
Author

mertalev commented Oct 20, 2024

Hmm, I just tested with system FFmpeg 7.1 and found that -strict unofficial doesn't actually leave DOVI side data in the transcode. Is this difference expected?

Edit: I downgraded to system 7.0.2 and found that it also leaves DOVI side data. I guess this is something that will be fixed on its own.

@nyanmisaka
Copy link
Member

7.1 refactored dovi related stuff, so the behavior may change.

@gnattu
Copy link
Member

gnattu commented Oct 21, 2024

7.1 has its own dovi_rpu encoder and that seems will not blindly copy all dovi config records from input. BUT that is a bit buggy and I've seen issues with that with dolby official glassblowing 8.1 samples and remuxing to mkv straight failed.

I think we could inject some handling but I don't know where such things could be placed? If there is no clean way we may only attach config record when the stream is HEVC and AV1 as a workaround and adding that into the muxers individually.

@gnattu
Copy link
Member

gnattu commented Oct 21, 2024

Just realized that dovi on H264 BL is a thing, which is the Profile 9, the dolby vision on SDR base layer encoded in H264, so we cannot "just" use codec to check that, we need to cross-check with the profile and base layer compatibility id.

@gnattu
Copy link
Member

gnattu commented Oct 21, 2024

You may try the action builds once completed: https://github.com/jellyfin/jellyfin-ffmpeg/actions/runs/11432498384

I added validation to movenc, matroskaenc and mpegtsenc so that the configuration records violating the spec will not be muxed into the container.

@mertalev
Copy link
Author

Wow, that's awesome! I just tested this command:

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -noautorotate -threads 1 -i IMG_3218.MOV -y -tune hq -qmin 0 -rc-lookahead 20 -i_qfactor 0.75 -c:v h264_nvenc -c:a copy -movflags faststart -fps_mode passthrough -map 0:0 -strict unofficial -map 0:1 -bf 4 -refs 4 -g 256 -b_ref_mode middle -b_qfactor 1.1 -temporal-aq 1 -v verbose -vf tonemap_cuda=desat=0:matrix=bt709:primaries=bt709:range=pc:tonemap=mobius:transfer=bt709:format=nv12:tradeoff=0:tonemap_mode=itp:peak=100 -preset p7 -cq:v 23 IMG_3218_cuda.mp4

And the output of this command looks good:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_3218_cuda.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomdby1iso2avc1mp41
    encoder         : Lavf61.1.100
  Duration: 00:00:11.83, start: 0.000000, bitrate: 27304 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 27106 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
      Metadata:
        handler_name    : Core Media Video
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.3.100 h264_nvenc
      Side data:
        Ambient Viewing Environment, ambient_illuminance=314.000000, ambient_light_x=0.312700, ambient_light_y=0.329000
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 184 kb/s (default)
      Metadata:
        handler_name    : Core Media Audio
        vendor_id       : [0][0][0][0]

Thanks for fixing this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants