我尝试使用以下技术从2048:1024
进行缩小,例如:ffmpeg -i eagle360half.mp4 -vf scale=1024:512 video360_1024.mp4
然后播放变得翘曲和变化(在视觉上类似于坏的磁带)。我只能推测这与经络和equirectangular预测有关。如何使用ffmpeg
正确缩放/降低360视频的分辨率,或者使用其他cli工具可以实现这一点?
这是mediainfo,ffmpeg和mediainfo的输出:
#######################MEDIAINFO OUTPUT PRE-ENCODING#################
$ mediainfo 360timessquare.mp4
General
Complete name : 360timessquare.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 235 MiB
Duration : 14mn 18s
Overall bit rate mode : Variable
Overall bit rate : 2 297 Kbps
Encoded date : UTC 2016-10-21 19:11:41
Tagged date : UTC 2016-10-21 19:11:41
gsst : 0
gstd : 858209
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 14mn 18s
Bit rate : 2 168 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.094
Stream size : 222 MiB (94%)
Title : ISO Media file produced by Google Inc.
Encoded date : UTC 2016-10-21 19:11:41
Tagged date : UTC 2016-10-21 19:11:41
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 14mn 18s
Bit rate mode : Variable
Bit rate : 126 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 12.8 MiB (5%)
Title : ISO Media file produced by Google Inc.
Encoded date : UTC 2016-10-21 19:11:41
Tagged date : UTC 2016-10-21 19:11:41
########################FFMPEG LOG:#############################
$ffmpeg -i 360timessquare.mp4 -s 542x320 -o 360timessquare542x320.mp4
ffmpeg version 2.4 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 26 2015 22:27:26 with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
configuration: --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-fontconfig --enable-libspeex --enable-libtheora --enable-frei0r --enable-libopencv --enable-zlib --enable-shared --disable-htmlpages --disable-podpages --disable-txtpages
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Unrecognized option 'o'.
Error splitting the argument list: Option not found
[kevin@clipcentric 360Video]$ ffmpeg -i 360timessquare.mp4 -vf -s 542x320 360timessquare542x320.mp4
ffmpeg version 2.4 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 26 2015 22:27:26 with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
configuration: --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-fontconfig --enable-libspeex --enable-libtheora --enable-frei0r --enable-libopencv --enable-zlib --enable-shared --disable-htmlpages --disable-podpages --disable-txtpages
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '360timessquare.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2016-10-21 19:11:41
Duration: 00:14:18.09, start: 0.000000, bitrate: 2296 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 2168 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
[NULL @ 0x14a0120] Unable to find a suitable output format for '542x320'
542x320: Invalid argument
[kevin@clipcentric 360Video]$ ffmpeg -i 360timessquare.mp4 -s 542x320 360timessquare542x320.mp4
ffmpeg version 2.4 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 26 2015 22:27:26 with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
configuration: --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-fontconfig --enable-libspeex --enable-libtheora --enable-frei0r --enable-libopencv --enable-zlib --enable-shared --disable-htmlpages --disable-podpages --disable-txtpages
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '360timessquare.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2016-10-21 19:11:41
Duration: 00:14:18.09, start: 0.000000, bitrate: 2296 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 2168 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
[libx264 @ 0x25f7a60] using SAR=2560/2439
[libx264 @ 0x25f7a60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x25f7a60] profile High, level 2.1
[libx264 @ 0x25f7a60] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '360timessquare542x320.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
encoder : Lavf56.4.101
Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 542x320 [SAR 2560:2439 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
encoder : Lavc56.1.100 libx264
Stream #0:1(und): Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s (default)
Metadata:
creation_time : 2016-10-21 19:11:41
handler_name : ISO Media file produced by Google Inc.
encoder : Lavc56.1.100 libfdk_aac
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
frame=21452 fps= 66 q=-1.0 Lsize= 64454kB time=00:14:18.09 bitrate= 615.3kbits/s
video:50428kB audio:13439kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.918954%
[libx264 @ 0x25f7a60] frame I:86 Avg QP:19.09 size: 45669
[libx264 @ 0x25f7a60] frame P:18026 Avg QP:22.11 size: 2541
[libx264 @ 0x25f7a60] frame B:3340 Avg QP:29.11 size: 572
[libx264 @ 0x25f7a60] consecutive B-frames: 75.9% 6.9% 9.6% 7.6%
[libx264 @ 0x25f7a60] mb I I16..4: 3.4% 30.9% 65.7%
[libx264 @ 0x25f7a60] mb P I16..4: 0.1% 0.3% 0.3% P16..4: 25.1% 6.6% 7.4% 0.0% 0.0% skip:60.2%
[libx264 @ 0x25f7a60] mb B I16..4: 0.0% 0.1% 0.1% B16..8: 13.3% 2.4% 1.3% direct: 1.9% skip:81.0% L0:25.9% L1:66.1% BI: 8.0%
[libx264 @ 0x25f7a60] 8x8 transform intra:38.5% inter:48.3%
[libx264 @ 0x25f7a60] coded y,uvDC,uvAC intra: 81.5% 84.3% 58.6% inter: 14.3% 14.5% 2.8%
[libx264 @ 0x25f7a60] i16 v,h,dc,p: 7% 49% 7% 37%
[libx264 @ 0x25f7a60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 25% 17% 5% 7% 7% 11% 8% 9%
[libx264 @ 0x25f7a60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 18% 14% 7% 8% 10% 11% 9% 7%
[libx264 @ 0x25f7a60] i8c dc,h,v,p: 51% 25% 15% 9%
[libx264 @ 0x25f7a60] Weighted P-Frames: Y:1.5% UV:0.3%
[libx264 @ 0x25f7a60] ref P L0: 77.6% 15.9% 5.2% 1.3% 0.0%
[libx264 @ 0x25f7a60] ref B L0: 94.0% 5.1% 0.9%
[libx264 @ 0x25f7a60] ref B L1: 96.1% 3.9%
[libx264 @ 0x25f7a60] kb/s:481.43
#################POST ENCODING #####################
$ mediainfo 360timessquare542x320.mp4
General
Complete name : 360timessquare542x320.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 62.9 MiB
Duration : 14mn 18s
Overall bit rate : 615 Kbps
Encoded date : UTC 1904-01-01 00:00:00
Tagged date : UTC 1904-01-01 00:00:00
Writing application : Lavf56.4.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L2.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 14mn 18s
Bit rate : 481 Kbps
Width : 542 pixels
Height : 320 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.111
Stream size : 49.2 MiB (78%)
Writing library : x264 core 142
Encoding settings : cabac=1 / ref=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_pskip=1 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=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=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 1904-01-01 00:00:00
Tagged date : UTC 1904-01-01 00:00:00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 14mn 18s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 13.1 MiB (21%)
Encoded date : UTC 1904-01-01 00:00:00
Tagged date : UTC 1904-01-01 00:00:00
答案 0 :(得分:0)
这实际上与webGL 2.0渲染中的浮点问题有关,这就是我预览输出的方式。链接到问题:OpenGL ES 2.0 texture distortion on large geometry GL_REPEAT