Opened 2 months ago

Last modified 2 months ago

#6400 new defect

Canopus HQA video stream is truncated on decode

Reported by: terran Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

When decoding the video stream only (-an) from a Canopus HQA source, I'm seeing the decode exit without error after decoding only the first 27209 of 43756 frames. However, if both audio and video streams are decoded, the full 43756 video frames are decoded. The source is a 25GB AVI/RIFF so uses multiple RIFF chunks per the AVI extension to go beyond 4GB. Interestingly, the RIFF chunk at approximately 16GB starts on frame 26920 AND it also appears that the last 10 seconds of video decoded are *from the end* of the video stream, as if it is skipping to 10 seconds before the end.

Decodes full video stream:

[~] ffmpeg -i ~/video/tooshort.avi -f null -
ffmpeg version git-2017-05-17-b7b02ae 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/HEAD-b7b02ae --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 63.100 / 55. 63.100
  libavcodec     57. 96.101 / 57. 96.101
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 90.100 /  6. 90.100
  libavresample   3.  6.  0 /  3.  6.  0
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from '/Users/tvigil/video/tooshort.avi':
  Duration: 00:24:19.99, start: 0.000000, bitrate: 144837 kb/s
    Stream #0:0: Video: hq_hqa (CUVC / 0x43565543), yuv422p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 143299 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (hq_hqa (native) -> wrapped_avframe (native))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.72.101
    Stream #0:0: Video: wrapped_avframe, yuv422p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.96.101 wrapped_avframe
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      encoder         : Lavc57.96.101 pcm_s16le
frame=43756 fps= 59 q=-0.0 Lsize=N/A time=00:24:19.99 bitrate=N/A speed=1.98x    
video:22562kB audio:273748kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Decodes partial video stream:

[~] ffmpeg -i ~/video/tooshort.avi -an -f null -
ffmpeg version git-2017-05-17-b7b02ae 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/HEAD-b7b02ae --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 63.100 / 55. 63.100
  libavcodec     57. 96.101 / 57. 96.101
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 90.100 /  6. 90.100
  libavresample   3.  6.  0 /  3.  6.  0
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from '/Users/tvigil/video/tooshort.avi':
  Duration: 00:24:19.99, start: 0.000000, bitrate: 144837 kb/s
    Stream #0:0: Video: hq_hqa (CUVC / 0x43565543), yuv422p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 143299 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (hq_hqa (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.72.101
    Stream #0:0: Video: wrapped_avframe, yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.96.101 wrapped_avframe
frame=27209 fps= 59 q=-0.0 Lsize=N/A time=00:15:07.87 bitrate=N/A speed=1.95x    
video:14030kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Change History (1)

comment:1 Changed 2 months ago by terran

Attempting to upload source through ftp but anonymous connect is failing. Using http://streams.videolan.org and upload progressing very slowly. File is canopus_truncated.avi.

Note: See TracTickets for help on using tickets.