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 – 2019-10-14T06:26:43.653
@Mokubai I've also tried with 24fps, and it doesn't work neither. – Ernesto Ciriani – 2019-10-14T06:39:22.033
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 – 2019-10-14T08:50:39.460