videovillage / Screen-Issues

Feature requests, bug tracking, questions, and issues for Screen.
https://videovillage.co/screen
2 stars 0 forks source link

Opening certain movies containing non-ASCII characters in the file path can cause a crash #18

Closed gkertai closed 4 years ago

gkertai commented 4 years ago

macOS High Sierra 10.13.6 Screen 1.1.5 (2062)

The Screen app seems to be choking on ProRes4444 QuickTime MOV files exported from Apple Motion. It does play back ProRes4444 exported from Final Cut Pro X. I tried opening the file from the Open Movie… button and also by double-clicking the video, Screen crashes either way.

I exported the first 3 frames of the video for your reference, see ProRes4444_from_Motion.mov.zip attached. The file plays back in QuickTime Player nicely.

Trying to get to the bottom of it, I compared the ffprobe output for this file with another that works, but nothing pops out immediately, there's only a slight difference in metadata.

This is the one that crashes (exported from Motion):

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '…/ProRes4444_from_Motion.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2020-01-28T18:16:09.000000Z
  Duration: 00:00:00.12, start: 0.000000, bitrate: 10352 kb/s
    Stream #0:0(und): Video: prores (4444) (ap4h / 0x68347061), yuva444p12le(tv, bt709, progressive), 2048x1080, 9890 kb/s, SAR 1:1 DAR 256:135, 25 fps, 25 tbr, 2500 tbn, 2500 tbc (default)
    Metadata:
      creation_time   : 2020-01-28T18:16:09.000000Z
      handler_name    : Core Media Video
      encoder         : Apple ProRes 4444
      timecode        : 00:00:00:00
    Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2020-01-28T18:16:09.000000Z
      handler_name    : Core Media Time Code
      timecode        : 00:00:00:00
Unsupported codec with id 0 for input stream 1

This is the one that plays back fine (exported from FCPX):

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '…/act7_layer4_credits_only.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2020-01-20T21:37:49.000000Z
    com.apple.quicktime.description: This video is about felvonás 7
    com.apple.quicktime.author: Boszorkányház
    com.apple.quicktime.displayname: felvonás 7
    com.apple.quicktime.title: felvonás 7
  Duration: 00:13:32.12, start: 0.000000, bitrate: 28588 kb/s
    Stream #0:0(und): Video: prores (4444) (ap4h / 0x68347061), yuva444p12le(tv, bt709, progressive), 2048x1080, 28574 kb/s, SAR 1:1 DAR 256:135, 25 fps, 25 tbr, 2500 tbn, 2500 tbc (default)
    Metadata:
      creation_time   : 2020-01-20T21:37:49.000000Z
      handler_name    : Core Media Video
      encoder         : Apple ProRes 4444
      timecode        : 00:00:00:00
    Stream #0:1(und): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2020-01-20T21:37:49.000000Z
      handler_name    : Core Media Time Code
      timecode        : 00:00:00:00
Unsupported codec with id 0 for input stream 1

Anonymous crash dump reporting is turned on on my end, you should see a couple of them already.

gregcotten commented 4 years ago

Thanks for bringing this to my attention! I do see those crashes and have pinpointed the bug and fixed it.

I can't reproduce the crash on my end, so I think it might have something to do with the characters in the file path (I know 🙄) or the length of the file path or both. Until the bug fix gets pushed out you could try moving "ProRes4444_from_Motion.mov" to a different directory, which is not ideal, but will probably work. If that's not it, I'm not sure what's going on but it will be fixed regardless in the next update.

gkertai commented 4 years ago

Oh my, you're right! Unicode having been around for 33 years now, I have not thought of that. 😁

So it's got nothing to do with ProRes4444 or Motion, it's just the accented characters in the path. I can confirm that the file plays back when I move it out of that directory. Shall we rename this ticket then?

gregcotten commented 4 years ago

Oh my, you're right! Unicode having been around for 33 years now, I have not thought of that. 😁

So it's got nothing to do with ProRes4444 or Motion, it's just the accented characters in the path. I can confirm that the file plays back when I move it out of that directory. Shall we rename this ticket then?

Yes, somehow an "interpret as ASCII" URL to String conversion slipped in the pipeline 😂. It will be gone in the next release.