1

I have a Canon EOS Rebel SL1 (100D) with a stuck pixel in the screen that really bothers me out. I'm trying to play one of these "dead pixel fixer" videos on the camera in order to bring it to life again.

I'm messing around with ffmpeg to imitate the Canon's codec, sadly with no success. I'm using this as my start point with some additions (like this and this) to match the metadata. Here is my current command line:

ffmpeg -i reviver.mp4 -map_metadata -1 -movflags use_metadata_tags -metadata creation_time="2019-10-13 22:05:33" -metadata compatible_brands="qt  CAEP" -metadata minor_version="537331968" -metadata com.apple.quicktime.make="Canon" -metadata com.apple.quicktime.model="Canon EOS REBEL SL1" -metadata com.apple.quicktime.rating.user="0.000000" -metadata com.apple.quicktime.author="Anyone" -acodec pcm_s16le -ar 48000 -ac 2 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -level:v 5.0 -s 1920x1080 -r ntsc -colorspace bt709 -color_primaries bt709 -color_trc bt709 MVI_2701.MOV

The ffprobe output of the resulting file gives me this:

  Metadata:
    major_brand     : qt
    compatible_brands: qt  CAEP
    creation_time   : 2019-10-13 22:05:33
    minor_version   : 537331968
    com.apple.quicktime.make: Canon
    com.apple.quicktime.model: Canon EOS REBEL SL1
    com.apple.quicktime.rating.user: 0.000000
    com.apple.quicktime.author: Anyone
    encoder         : Lavf58.33.100
  Duration: 00:00:35.97, start: 0.000000, bitrate: 2892 kb/s
    Stream #0:0: Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 1353 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2019-10-14T03:05:33.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.59.102 libx264
    Stream #0:1: Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2019-10-14T03:05:33.000000Z
      handler_name    : SoundHandler

And this is the output of a video from my Canon DSLR:

  Metadata:
    major_brand     : qt
    minor_version   : 537331968
    compatible_brands: qt  CAEP
    com.apple.quicktime.make: Canon
    com.apple.quicktime.model: Canon EOS REBEL SL1
    com.apple.quicktime.rating.user: 0.000000
    com.apple.quicktime.author: Ernesto
    creation_time   : 2019-10-13T19:50:54.000000Z
  Duration: 00:00:21.60, start: 0.000000, bitrate: 89302 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080, 87729 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
    Metadata:
      creation_time   : 2019-10-13T19:50:54.000000Z
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2019-10-13T19:50:54.000000Z

Despite some minor differences, both looks almost the same. But my output file doesn't play on the camera.

My last attempt was trying to copy the metadata from a video of my DSLR to my fake .MOV using exiftools. Some extra metadata was actually copied, but seems like it isn't enough for the DSLR.

What do you suggest me?

  • While I would expect the camera to handle it your video is at 30fps (29.97) as opposed to 24fps (23.98). – Mokubai Oct 14 '19 at 6:26
  • @Mokubai I've also tried with 24fps, and it doesn't work neither. – Ernesto Ciriani Oct 14 '19 at 6:39
  • Fair enough. You might also want to change your -level:v 5.0 to -level:v 3.0. 5.0 I thought was a "high" profile setting and it may be the camera doesn't support it. – Mokubai Oct 14 '19 at 8:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.