Мы делаем 360 видеоплеер для VR-гарнитур с использованием Unity.Мы пытаемся достичь пространственного звука.Самый простой случай, когда видео и аудио находятся в отдельных файлах, но теперь мы решили также поддерживать видео со встроенным аудио.Мне нужно знать, прежде чем загружать видео, если звук является двойственным или нет.Я ищу простой способ решить, является ли звук двойным, чтобы отделить его от видео и преобразовать в файл .tbe, который в настоящее время поддерживается нашим приложением.
Я пытался использовать ffmpeg:
$./ffmpeg.exe -i ~/Videos/video.mp4
и получил:
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8.3.1 (GCC) 20190414
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-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 --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/Users/Medion/Videos/video.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.56.101
Duration: 00:11:39.40, start: 0.000000, bitrate: 17290 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 16497 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Side data:
stereo3d: top and bottom
spherical: equirectangular (0.000000/0.000000/0.000000)
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 4.0, fltp, 778 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 4.0, fltp, 4 kb/s
Metadata:
handler_name : SoundHandler
Stream #0:3(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s
Metadata:
handler_name : SoundHandler
At least one output file must be specified
, но я не вижу ни одной строки, которая могла бы указывать, что звук является двойственным.Я вижу, что в потоках # 0: 1 и # 0: 2 есть 4 канала, но держу пари, что этого недостаточно.
Я также пробовал MediaInfo, но это то же самое:
General
CompleteName : C:\Users\Medion\Videos\video.mp4
Format/String : MPEG-4
Format_Profile : Base Media
CodecID/String : isom (isom/iso2/avc1/mp41)
FileSize/String : 1.41 GiB
Duration/String : 11 min 39 s
OverallBitRate_Mode/String : Variable
OverallBitRate/String : 17.3 Mb/s
Encoded_Application/String : Lavf57.56.101
Video
ID/String : 1
Format/String : AVC
Format/Info : Advanced Video Codec
Format_Profile : High@L5.2
Format_Settings : CABAC / 3 Ref Frames
Format_Settings_CABAC/String : Yes
Format_Settings_RefFrames/String : 3 frames
Format_Settings_GOP : M=3, N=29
CodecID : avc1
CodecID/Info : Advanced Video Coding
Duration/String : 11 min 39 s
BitRate_Mode/String : Variable
BitRate/String : 16.5 Mb/s
BitRate_Maximum/String : 20.0 Mb/s
Width/String : 3 840 pixels
Height/String : 2 160 pixels
DisplayAspectRatio/String : 16:9
FrameRate_Mode/String : Constant
FrameRate/String : 29.970 (30000/1001) FPS
Standard : NTSC
ColorSpace : YUV
ChromaSubsampling/String : 4:2:0
BitDepth/String : 8 bits
ScanType/String : Progressive
Bits-(Pixel*Frame) : 0.066
StreamSize/String : 1.34 GiB (95%)
Language/String : English
Tagged_Date : UTC 2017-06-13 17:37:51
colour_range : Limited
colour_primaries : BT.709
transfer_characteristics : BT.709
matrix_coefficients : BT.709
Codec configuration box : avcC
Audio #1
ID/String : 2
Format/String : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
CodecID : mp4a-40-2
Duration/String : 11 min 39 s
Source_Duration/String : 11 min 39 s
BitRate_Mode/String : Constant
BitRate/String : 779 kb/s
Channel(s)/String : 4 channels
ChannelLayout : C L R Cb
SamplingRate/String : 48.0 kHz
FrameRate/String : 46.875 FPS (1024 SPF)
Compression_Mode/String : Lossy
StreamSize/String : 64.9 MiB (5%)
Source_StreamSize/String : 64.9 MiB (5%)
Default/String : Yes
AlternateGroup/String : 1
Tagged_Date : UTC 2017-06-13 17:37:51
Audio #2
ID/String : 3
Format/String : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
CodecID : mp4a-40-2
Duration/String : 11 min 39 s
Source_Duration/String : 11 min 39 s
BitRate_Mode/String : Variable
BitRate/String : 4 900 b/s
BitRate_Maximum/String : 266 kb/s
Channel(s)/String : 4 channels
ChannelLayout : C L R Cb
SamplingRate/String : 48.0 kHz
FrameRate/String : 46.875 FPS (1024 SPF)
Compression_Mode/String : Lossy
StreamSize/String : 418 KiB (0%)
Source_StreamSize/String : 418 KiB (0%)
Default/String : No
AlternateGroup/String : 1
Tagged_Date : UTC 2017-06-13 17:37:51
Audio #3
ID/String : 4
Format/String : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
CodecID : mp4a-40-2
Duration/String : 11 min 39 s
Source_Duration/String : 11 min 39 s
BitRate_Mode/String : Variable
BitRate/String : 2 275 b/s
BitRate_Maximum/String : 128 kb/s
Channel(s)/String : 2 channels
ChannelLayout : L R
SamplingRate/String : 48.0 kHz
FrameRate/String : 46.875 FPS (1024 SPF)
Compression_Mode/String : Lossy
StreamSize/String : 194 KiB (0%)
Source_StreamSize/String : 194 KiB (0%)
Default/String : No
AlternateGroup/String : 1
Tagged_Date : UTC 2017-06-13 17:37:51
Я предполагаю, что я не знаю, что искать в этих выходных данных.Заранее спасибо.