[FFmpeg-user] How does VLC player recognize a spherical video?

Paul B Mahol onemda at gmail.com
Tue Aug 27 18:46:50 EEST 2019


On Tue, Aug 27, 2019 at 4:13 PM Michael Koch <astroelectronic at t-online.de>
wrote:

> Hello all,
>
> I have used the remap filter to make a video with size 1920x960 and the
> content is a spherical video in equirectangular projection. But VLC
> player doesn't recognize it as spherical, so I can't use the mouse to
> change the direction of view in VLC.
> I think (but I'm not sure) that some metadata must be added, so that VLC
> recognizes the video as spherical.
> I have another spherical video (not made with FFmpeg) that's running
> fine in VLC, and I did compare the metadata with ExifTool.
> Possibly these metadata must be added to my video:
> Projection Type = equirectangular
> Spherical = true
> Stitched = true
>
> How can I add these data to my video? I did try the following command
> line, but after checking with ExifTool this metadata isn't shown.
>

Google next time before you ask here.
You need special python tool available on github which inserts sidedata.
I dunno in what state is that tool now, seems pretty abandoned last time I
looked it.


>
> Michael
>
>
> F:\Little_Planet>c:\ffmpeg\ffmpeg -i equirect.mp4 -metadata
> Spherical="true" -me
> tadata Stitched="true" -metadata "Projection Type"="equirectangular" -y
> equirect
> _with_metadata.mp4
> ffmpeg version N-94646-g1cfba7fc75 Copyright (c) 2000-2019 the FFmpeg
> developers
>
>    built with gcc 9.1.1 (GCC) 20190807
>    configuration: --enable-gpl --enable-version3 --enable-sdl2
> --enable-fontconfi
> g --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d
> --enable-libb
> luray --enable-libfreetype --enable-libmp3lame
> --enable-libopencore-amrnb --enab
> le-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-libshine --e
> nable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame
> --enable
> -libvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 -
> -enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
> --enable-gmp --enab
> le-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
> --enable-libmysofa --en
> able-libspeex --enable-libxvid --enable-libaom --enable-libmfx
> --enable-amf --en
> able-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
> --enable-nvdec --e
> nable-dxva2 --enable-avisynth --enable-libopenmpt
>    libavutil      56. 33.100 / 56. 33.100
>    libavcodec     58. 55.101 / 58. 55.101
>    libavformat    58. 31.102 / 58. 31.102
>    libavdevice    58.  9.100 / 58.  9.100
>    libavfilter     7. 58.101 /  7. 58.101
>    libswscale      5.  6.100 /  5.  6.100
>    libswresample   3.  6.100 /  3.  6.100
>    libpostproc    55.  6.100 / 55.  6.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'equirect.mp4':
>    Metadata:
>      major_brand     : isom
>      minor_version   : 512
>      compatible_brands: isomiso2mp41
>      encoder         : Lavf58.31.102
>    Duration: 00:00:10.00, start: 0.000000, bitrate: 20827 kb/s
>      Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v /
> 0x7634706D), yuv420p
> , 1920x960 [SAR 1:1 DAR 2:1], 20825 kb/s, 25 fps, 25 tbr, 12800 tbn, 25
> tbc (def
> ault)
>      Metadata:
>        handler_name    : VideoHandler
> Stream mapping:
>    Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
> Press [q] to stop, [?] for help
> [libx264 @ 0000000000124d80] using SAR=1/1
> [libx264 @ 0000000000124d80] using cpu capabilities: MMX2 SSE2Fast SSSE3
> SSE4.2
> AVX FMA3 BMI2 AVX2
> [libx264 @ 0000000000124d80] profile High, level 4.0, 4:2:0, 8-bit
> [libx264 @ 0000000000124d80] 264 - core 158 r2984 3759fcb - H.264/MPEG-4
> AVC cod
> ec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options:
> cabac=1 r
> ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
> psy_rd=1.00:0.00 mixed
> _ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11
> fast_pski
> p=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0
> nr=0 deci
> mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3
> b_pyramid=2 b_
> adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
> keyint_min=2
> 5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
> qcomp=0.6
> 0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
> Output #0, mp4, to 'equirect_with_metadata.mp4':
>    Metadata:
>      major_brand     : isom
>      minor_version   : 512
>      compatible_brands: isomiso2mp41
>      Projection Type : equirectangular
>      Spherical       : true
>      Stitched        : true
>      encoder         : Lavf58.31.102
>      Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661),
> yuv420p, 1920x9
> 60 [SAR 1:1 DAR 2:1], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
>      Metadata:
>        handler_name    : VideoHandler
>        encoder         : Lavc58.55.101 libx264
>      Side data:
>        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay:
> 1844674407370955
> 1615
> frame=   52 fps=0.0 q=28.0 size=     768kB time=-00:00:00.03 bitrate=N/A
> speed=N
> frame=   80 fps= 71 q=28.0 size=     768kB time=00:00:01.08
> bitrate=5825.4kbits/
> frame=  106 fps= 64 q=28.0 size=     768kB time=00:00:02.12
> bitrate=2967.7kbits/
> frame=  132 fps= 60 q=28.0 size=     768kB time=00:00:03.16
> bitrate=1991.0kbits/
> frame=  159 fps= 58 q=28.0 size=     768kB time=00:00:04.24
> bitrate=1483.9kbits/
> frame=  188 fps= 58 q=28.0 size=     768kB time=00:00:05.40
> bitrate=1165.1kbits/
> frame=  217 fps= 58 q=28.0 size=     768kB time=00:00:06.56 bitrate=
> 959.1kbits/
> frame=  246 fps= 58 q=28.0 size=     768kB time=00:00:07.72 bitrate=
> 815.0kbits/
> frame=  250 fps= 50 q=-1.0 Lsize=     868kB time=00:00:09.88 bitrate=
> 719.7kbits
> /s speed=1.97x
> video:864kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing o
> verhead: 0.435387%
> [libx264 @ 0000000000124d80] frame I:1     Avg QP:20.88  size:859040
> [libx264 @ 0000000000124d80] frame P:63    Avg QP:19.32  size:   202
> [libx264 @ 0000000000124d80] frame B:186   Avg QP:29.33  size:    67
> [libx264 @ 0000000000124d80] consecutive B-frames:  0.8%  0.0%  0.0% 99.2%
> [libx264 @ 0000000000124d80] mb I  I16..4:  0.8% 51.9% 47.2%
> [libx264 @ 0000000000124d80] mb P  I16..4:  0.0%  0.0%  0.0% P16..4:
> 1.1%  0.0
> %  0.0%  0.0%  0.0%    skip:98.9%
> [libx264 @ 0000000000124d80] mb B  I16..4:  0.0%  0.0%  0.0% B16..8:
> 0.1%  0.0
> %  0.0%  direct: 0.0%  skip:99.9%  L0:38.7% L1:61.3% BI: 0.0%
> [libx264 @ 0000000000124d80] 8x8 transform intra:51.8% inter:73.7%
> [libx264 @ 0000000000124d80] coded y,uvDC,uvAC intra: 97.5% 97.9% 94.7%
> inter: 0
> .0% 0.3% 0.0%
> [libx264 @ 0000000000124d80] i16 v,h,dc,p: 30% 30% 39%  0%
> [libx264 @ 0000000000124d80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 19% 20%
> 6%  7%
>   7%  8%  8% 10%
> [libx264 @ 0000000000124d80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19%  9% 13%
> 9%  8%
> 11%  8% 11% 10%
> [libx264 @ 0000000000124d80] i8c dc,h,v,p: 44% 19% 23% 14%
> [libx264 @ 0000000000124d80] Weighted P-Frames: Y:0.0% UV:0.0%
> [libx264 @ 0000000000124d80] ref P L0: 92.0%  0.3%  3.1%  4.7%
> [libx264 @ 0000000000124d80] ref B L0: 73.3% 25.9%  0.8%
> [libx264 @ 0000000000124d80] ref B L1: 92.9%  7.1%
> [libx264 @ 0000000000124d80] kb/s:707.42
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list