每当我使用ffmpeg编码HiDPI/Retina屏幕录制时,视频播放的大小是原来的2倍,因此看起来模糊,因为像素密度没有保留。
如何在使用ffmpeg时保留HiDPI屏幕录制的原始像素密度?
如何重现:
值得一提的是,VLC也会播放过大(模糊)的两个视频。因此,能够播放HiDPI视频似乎是QuickTime Player的一个功能。
以下是ffmpeg显示的原始屏幕录制的详细信息:
如何在使用ffmpeg时保留HiDPI屏幕录制的原始像素密度?
如何重现:
- Use QuickTime Player to create a Screen Recording on a Retina Mac.
- Play the video you recorded in QuickTime Player using the
⌘1 Actual Size
view. Notice that it’s playing 2:1 on your Retina Display, so the video looks sharp. It’s playing in half the space of the actual recorded pixels. Use ffmpeg to encode the video using a command like this:
ffmpeg -i haha.mov -c:v libx264 -crf 23 haha-lg.mov
- Play the new ffmpeg-compressed video in QuickTime Player using the
⌘1 Actual Size
view. Notice that it’s playing 1:1, so the video looks fuzzy.
值得一提的是,VLC也会播放过大(模糊)的两个视频。因此,能够播放HiDPI视频似乎是QuickTime Player的一个功能。
以下是ffmpeg显示的原始屏幕录制的详细信息:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'haha.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2018-02-26T16:46:00.000000Z
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iMac18,3
com.apple.quicktime.software: Mac OS X 10.13.3 (17D102)
com.apple.quicktime.creationdate: 2018-02-26T10:45:50-0600
Duration: 00:00:04.35, start: 0.000000, bitrate: 10947 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1396x928 [SAR 1:1 DAR 349:232], 10701 kb/s, 60 fps, 60 tbr, 6k tbn, 12k tbc (default)
Metadata:
creation_time : 2018-02-26T16:46:00.000000Z
handler_name : Core Media Data Handler
encoder : H.264
以下是经过ffmpeg压缩的版本信息:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'haha-lg.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.83.100
Duration: 00:00:04.35, start: 0.000000, bitrate: 1923 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1396x928 [SAR 1:1 DAR 349:232], 1783 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Lavc57.107.100 libx264