> On Feb 7, 2023, at 10:56 PM, Ferdi Scholten <[email protected]> wrote:
> 
> I have a Windows PC running Blue Iris security camera software, and it has a 
> “Direct-to-disc” option whereby it records video straight from each camera’s 
> h.264 RTSP stream without transcoding, to reduce CPU and HDD utilization. 
> There is some re-packaging involved, and I think that’s where the problem may 
> lie.
>> When I browse through recorded footage, either on the BI PC or on another 
>> device (e.g. my Mac), I have the option to download clips either with or 
>> without re-encoding to h.264. I obviously prefer to download without 
>> re-encoding. I’ll call these the “original” downloads. Once downloaded they 
>> behaved like normal MP4s on my Intel-based Mac. I could read them in 
>> QuickTime Player or in any other app that uses the QuickTime libraries, like 
>> DaVinci Resolve.
>> 
>> But last week I replaced my Intel Mac with an Apple Silicon Mac, and now 
>> these MP4 files are broken. They will not play back in QuickTime player, nor 
>> in the apps that are based on QuickTime. Curiously, VLC Player on my AS Mac 
>> will play the “bad” files back, but only after a few frames of what looks 
>> like gray snow. If I turn off the Hardware acceleration in VLC Player, then 
>> it will play back the bad files correctly from frame 1.
>> 
>> If I choose the option in Blue Iris or in the client viewer to re-encode the 
>> video to H.264 before download, then the resulting files behave properly on 
>> any computer I’ve tried, but I don’t want to have to wait for a re-encode 
>> every time I download a clip, and the file bloat is 10x.
>> 
>> I ran the original file and the re-encoded file through ffprobe. Can anyone 
>> decode what the error is, and what the Blue Iris developer can do to fix it?
>> 
>> Bad (original) file:
>> 
>> https://www.kan.org/download/BlueIris/TrailDown.20230203_042912-042924.495.mp4
>> 
>> Good (re-encoded) file:
>> 
>> https://www.kan.org/download/BlueIris/TrailDown.20230203_042912-042924.494.mp4
>> 
>> Console output from Bad (original) file:
>> 
>> ffprobe /Users/steven/Downloads/TrailDown.20230203_042912-042924.495.mp4
>> ffprobe version N-109745-g7d49fef8b4-tessus  https://evermeet.cx/ffmpeg/  
>> Copyright (c) 2007-2023 the FFmpeg developers
>>   built with Apple clang version 11.0.0 (clang-1100.0.33.17)
>>   configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg 
>> --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl 
>> --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d 
>> --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame 
>> --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb 
>> --enable-libopenh264 --enable-libopenjpeg --enable-libopus 
>> --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr 
>> --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab 
>> --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
>> --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs 
>> --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi 
>> --enable-version3 --pkg-config-flags=--static --disable-ffplay
>>   libavutil      57. 44.100 / 57. 44.100
>>   libavcodec     59. 61.100 / 59. 61.100
>>   libavformat    59. 37.100 / 59. 37.100
>>   libavdevice    59.  8.101 / 59.  8.101
>>   libavfilter     8. 56.100 /  8. 56.100
>>   libswscale      6.  8.112 /  6.  8.112
>>   libswresample   4.  9.100 /  4.  9.100
>>   libpostproc    56.  7.100 / 56.  7.100
>> [h264 @ 0x7fd082805200] error while decoding MB 161 121, bytestream -5
>> [h264 @ 0x7fd082805200] concealing 50 DC, 50 AC, 50 MV errors in I frame
>> [h264 @ 0x7fd082805200] error while decoding MB 161 121, bytestream -6
>> [h264 @ 0x7fd082805200] concealing 50 DC, 50 AC, 50 MV errors in P frame
>> [h264 @ 0x7fd082805200] error while decoding MB 161 121, bytestream -5
>> [h264 @ 0x7fd082805200] concealing 50 DC, 50 AC, 50 MV errors in P frame
>> [h264 @ 0x7fd082805200] error while decoding MB 161 121, bytestream -5
>> [h264 @ 0x7fd082805200] concealing 50 DC, 50 AC, 50 MV errors in P frame
>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
>> '/Users/steven/Downloads/TrailDown.20230203_042912-042924.495.mp4':
>>   Metadata:
>>     major_brand     : isom
>>     minor_version   : 512
>>     compatible_brands: isomiso2avc1mp41
>>     encoder         : Lavf58.45.100
>>   Duration: 00:00:11.30, start: 0.000000, bitrate: 6417 kb/s
>>   Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), 
>> yuvj420p(pc, bt709, progressive), 2592x1944, 6388 kb/s, 19.91 fps, 20.67 
>> tbr, 90k tbn (default)
>>     Metadata:
>>       handler_name    : VideoHandler
>>       vendor_id       : [0][0][0][0]
>>   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, 
>> fltp, 26 kb/s (default)
>>     Metadata:
>>       handler_name    : SoundHandler
>>       vendor_id       : [0][0][0][0]
>> 
>> Console output from Good (re-encoded) file:
>> 
>> /Applications/ffmpeg/ffprobe 
>> /Users/steven/Downloads/TrailDown.20230203_042912-042924.494.mp4
>> ffprobe version N-109745-g7d49fef8b4-tessus  https://evermeet.cx/ffmpeg/  
>> Copyright (c) 2007-2023 the FFmpeg developers
>>   built with Apple clang version 11.0.0 (clang-1100.0.33.17)
>>   configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg 
>> --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl 
>> --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d 
>> --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame 
>> --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb 
>> --enable-libopenh264 --enable-libopenjpeg --enable-libopus 
>> --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr 
>> --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab 
>> --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
>> --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs 
>> --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi 
>> --enable-version3 --pkg-config-flags=--static --disable-ffplay
>>   libavutil      57. 44.100 / 57. 44.100
>>   libavcodec     59. 61.100 / 59. 61.100
>>   libavformat    59. 37.100 / 59. 37.100
>>   libavdevice    59.  8.101 / 59.  8.101
>>   libavfilter     8. 56.100 /  8. 56.100
>>   libswscale      6.  8.112 /  6.  8.112
>>   libswresample   4.  9.100 /  4.  9.100
>>   libpostproc    56.  7.100 / 56.  7.100
>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
>> '/Users/steven/Downloads/TrailDown.20230203_042912-042924.494.mp4':
>>   Metadata:
>>     major_brand     : isom
>>     minor_version   : 512
>>     compatible_brands: isomiso2avc1mp41
>>     encoder         : Lavf58.45.100
>>   Duration: 00:00:12.09, start: 0.000000, bitrate: 37956 kb/s
>>   Stream #0:0[0x1](und): Video: h264 (Constrained Baseline) (avc1 / 
>> 0x31637661), yuv420p(progressive), 2592x1952, 37926 kb/s, 19.94 fps, 20.42 
>> tbr, 90k tbn (default)
>>     Metadata:
>>       handler_name    : VideoHandler
>>       vendor_id       : [0][0][0][0]
>>   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, 
>> fltp, 27 kb/s (default)
>>     Metadata:
>>       handler_name    : SoundHandler
>>       vendor_id       : [0][0][0][0]
>> 
>> 
> Most likely the AS mac hardware does not support yuvj420p that has a bigger 
> color range than yuv420p

I did some additional testing with 2 cameras from different manufacturers:

1 of 2) This is from a Wyze cam, and ffprobe reports it as yuv420p, but still 
fails it with a "error while decoding MB 119 67, bytestream -8"

https://www.kan.org/download/Finch.20230208_081507-081539.496.mp4

./ffprobe /Users/steven/Downloads/Finch.20230208_081507-081539.496.mp4 
ffprobe version N-109745-g7d49fef8b4-tessus  https://evermeet.cx/ffmpeg/  
Copyright (c) 2007-2023 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg 
--extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl 
--enable-libaom --enable-libass --enable-libbluray --enable-libdav1d 
--enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame 
--enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb 
--enable-libopenh264 --enable-libopenjpeg --enable-libopus 
--enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr 
--enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs 
--enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi 
--enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      57. 44.100 / 57. 44.100
  libavcodec     59. 61.100 / 59. 61.100
  libavformat    59. 37.100 / 59. 37.100
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 56.100 /  8. 56.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
[h264 @ 0x7f8abbf057c0] error while decoding MB 119 67, bytestream -8
[h264 @ 0x7f8abbf057c0] concealing 50 DC, 50 AC, 50 MV errors in I frame
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
'/Users/steven/Downloads/Finch.20230208_081507-081539.496.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
  Duration: 00:00:31.18, start: 0.000000, bitrate: 646 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, 
bt709, progressive), 1920x1080, 575 kb/s, 19.95 fps, 20 tbr, 90k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, mono, 
fltp, 67 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]

2 of 2) This is from a Reolink camera (yeah, I know), also reporting as yuv420p 
and failing with multiple "error while decoding MB xxx yyy” errors:

https://www.kan.org/download/Bee.20230208_081549-081557.497.mp4

./ffprobe /Users/steven/Downloads/Bee.20230208_081549-081557.497.mp4
ffprobe version N-109745-g7d49fef8b4-tessus  https://evermeet.cx/ffmpeg/  
Copyright (c) 2007-2023 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg 
--extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl 
--enable-libaom --enable-libass --enable-libbluray --enable-libdav1d 
--enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame 
--enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb 
--enable-libopenh264 --enable-libopenjpeg --enable-libopus 
--enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr 
--enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs 
--enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi 
--enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      57. 44.100 / 57. 44.100
  libavcodec     59. 61.100 / 59. 61.100
  libavformat    59. 37.100 / 59. 37.100
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 56.100 /  8. 56.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
[h264 @ 0x7f7cb57057c0] error while decoding MB 120 80, bytestream -5
[h264 @ 0x7f7cb57057c0] concealing 73 DC, 73 AC, 73 MV errors in I frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 118 80, bytestream -10
[h264 @ 0x7f7cb57057c0] concealing 75 DC, 75 AC, 75 MV errors in P frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 98 80, bytestream -12
[h264 @ 0x7f7cb57057c0] concealing 95 DC, 95 AC, 95 MV errors in P frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 122 80, bytestream -8
[h264 @ 0x7f7cb57057c0] concealing 71 DC, 71 AC, 71 MV errors in P frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 94 80, bytestream -18
[h264 @ 0x7f7cb57057c0] concealing 99 DC, 99 AC, 99 MV errors in P frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 107 80, bytestream -10
[h264 @ 0x7f7cb57057c0] concealing 86 DC, 86 AC, 86 MV errors in P frame
[h264 @ 0x7f7cb57057c0] error while decoding MB 96 80, bytestream -9
[h264 @ 0x7f7cb57057c0] concealing 97 DC, 97 AC, 97 MV errors in P frame
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
'/Users/steven/Downloads/Bee.20230208_081549-081557.497.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
  Duration: 00:00:06.47, start: 0.000000, bitrate: 5142 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), 
yuv420p(progressive), 2304x1296, 5139 kb/s, 29.53 fps, 30 tbr, 90k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]


Can anyone inspect those macroblocks in these failing files and help us 
understand the root cause? 

Thanks!
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to