How does VLC player recognize a spherical video?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How does VLC player recognize a spherical video?

Michael Koch
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.

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
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: How does VLC player recognize a spherical video?

Paul B Mahol
On Tue, Aug 27, 2019 at 4:13 PM Michael Koch <[hidden email]>
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
> [hidden email]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: How does VLC player recognize a spherical video?

Michael Koch

> 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.

I saw the Python tool, but I thought it might also be possible to do
that with FFmpeg. That's why I asked here.

Michael

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".