0

GStreamer で再生したい一連の FLV ファイルがあります。次のように、すべてのファイルのヘッダー/メタデータが正しくありません。

https://drive.google.com/file/d/1FcKbYd2-D7ZiIG5VpRxpbqshCixp8iaR/view?usp=sharing

VLC と ffplay の両方が、特別な魔法を使用してこのファイルを再生できます。ただし、Mediainfo には、ファイルの切り捨てられたビデオ情報が表示されます。

Video
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Codec ID                                 : 7
Duration                                 : 12 s 633 ms
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Bit depth                                : 8 bits

正しいファイルには、少なくとも形式プロファイルとレベルがあります。

gst-discoverer-1.0ビデオストリームをまったく検出したくない:

Properties:
  Duration: 0:00:00.116000000
  Seekable: yes
  Live: no
  container: Flash
    audio: MPEG-4 AAC
      Stream ID: a72c1038e0bf52d7668cb945588d7bca2547bd58212aa7f08db439aeadfcbd95/audio
      Language: <unknown>
      Channels: 2 (front-left, front-right)
      Sample rate: 48000
      Depth: 32
      Bitrate: 0
      Max bitrate: 0
    video: H.264
      Stream ID: (NULL)
      Width: 0
      Height: 0
      Depth: 0
      Frame rate: 0/1
      Pixel aspect ratio: 1/1
      Interlaced: false
      Bitrate: 0
      Max bitrate: 0

gst-play-1.0起動しますが、エラーが表示され、プレビューが表示されません:

gst-play-1.0.exe "C:\Users\me\Downloads\custom.flv"
Press 'k' to see a list of keyboard shortcuts.
Now playing C:\Users\me\Downloads\custom.flv
WARNING No decoder available for type 'video/x-h264, stream-format=(string)avc, codec_data=(buffer)000000016742c020da014016ec0440000003004000001e03c60ca80000000168ce3c80'.
WARNING debug information: ../gst/playback/gsturidecodebin.c(960): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
Redistribute latency...
0:00:12.6 / 0:00:12.6
Reached end of play list.

GStreamer でそのようなファイルを正しく再生する方法 (おそらく、それを可能にするプラグインがあるでしょうか?) またはビデオ ヘッダーを修正する方法を探しています。

4

2 に答える 2

1

問題はビデオ ヘッダーにありました。ヘッダーを生成するために、FFmpeg エンコーダーから返された追加データを使用していました。ただし、ヘッダーは単なる追加データではなく、AVCDecoderConfigurationRecordISO/IEC-14496-15 標準に準拠した構造として生成する必要があります。

于 2021-11-07T13:43:30.103 に答える