6

我有一些 MP4 视频文件在其标题信息中缺少像素格式。我已经尝试将其设置为最大值 2147483647,但这并没有帮助probesizeanalyzeduration

所以我知道这些视频可能已损坏,但如果这是唯一缺少的信息,我想我可以通过重建它们的标题信息或通过强制像素格式以某种方式解码它们来恢复它们。有谁知道这是否可能?该文件的更多背景信息:

媒体信息:

$ mediainfo DJI_0090.MOV 
General
Complete name                            : DJI_0090.MOV
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt   2014.02 (qt  )
File size                                : 165 MiB
Duration                                 : 22 s 322 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 61.8 Mb/s
Encoded date                             : UTC 2017-05-31 18:04:45
Tagged date                              : UTC 2017-05-31 18:04:45
Comment                                  : 0.9.145
©gpt                                     : -170.60
©gyw                                     : +157.30
©grl                                     : +0.00
IsTruncated                              : Yes

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, RefFrames               : 1 frame
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 22 s 322 ms
Bit rate mode                            : Variable
Bit rate                                 : 59.4 Mb/s
Maximum bit rate                         : 50.0 Mb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.478
Stream size                              : 158 MiB (96%)
Title                                    : DJI.AVC
Language                                 : English
Encoded date                             : UTC 2017-05-31 18:04:45
Tagged date                              : UTC 2017-05-31 18:04:45
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

ff探针:

$ ffprobe -analyzeduration 2147483647 -probesize 2147483647 DJI_0090.MOV 
ffprobe version 3.3.2 Copyright (c) 2007-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables     --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-indev=qtkit --enable-ffplay --enable-libfdk-aac --enable-libmp3lame     --enable-libsoxr --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-opencl --disable-lzma     --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.1.2_1/include/openjpeg-2.1 --enable-nonfree     --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc2e9002600] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1920x1080):     unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DJI_0090.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 538182144
    compatible_brands: qt  
    creation_time   : 2017-05-31T18:04:45.000000Z
    comment         : 0.9.145
  Duration: 00:00:22.36, bitrate: 61732 kb/s
    Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none, 1920x1080, 59.94 fps, 59.94 tbr, 60k tbn, 120k tbc (default)
    Metadata:
      creation_time   : 2017-05-31T18:04:45.000000Z
      handler_name    : DJI.AVC
      encoder         : Dji AVC encoder

我不能以这种方式在 ffmpeg 上强制使用 pixel_format:

$ ffmpeg -pixel_format yuv420p -i DJI_0090.MOV test.mp4
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables     --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-indev=qtkit --enable-ffplay --enable-libfdk-aac --enable-libmp3lame     --enable-libsoxr --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-opencl --disable-lzma     --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.1.2_1/include/openjpeg-2.1 --enable-nonfree     --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Option pixel_format not found.

有没有其他方法可以用 ffmpeg 完成这个?是否可以编辑其标题信息以包含像素格式信息?

4

0 回答 0