
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (74)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone. -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
Sur d’autres sites (7545)
-
Concat failing with ffmpeg 5.0 vs ffmpeg 4.1.1
16 avril 2022, par WoolwitI have ffmpeg 5.0 installed on a new Silicon M1 Mac Mini running Monterey and concat is failing with the same command that has served me well on ffmpeg 4.1.1 lo, all these many years. Anyone have an idea why this command would fail on the newer version of ffmpeg.
This is with the exact same mp4 files. The ffmpeg 4.1.1. completes the concat in less than a minute.


ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4




Thank you !


ffmpeg 4.1.1 Info and output...


$ ffmpeg -version
ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom -


$ ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4
ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
 built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr --enable-libvidstab
 libavutil 56. 22.100 / 56. 22.100
 libavcodec 58. 35.100 / 58. 35.100
 libavformat 58. 20.100 / 58. 20.100
 libavdevice 58. 5.100 / 58. 5.100
 libavfilter 7. 40.101 / 7. 40.101
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 3.100 / 5. 3.100
 libswresample 3. 3.100 / 3. 3.100
 libpostproc 55. 3.100 / 55. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:13.01, start: 0.000000, bitrate: 1240 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480, 1103 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'vid2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:07.00, start: 0.000000, bitrate: 122 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 1:1 DAR 3:2], 112 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : SoundHandler
Stream mapping:
 Stream #0:0 (h264) -> concat:in0:v0
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> concat:in1:v0
 Stream #1:1 (aac) -> concat:in1:a0
 concat:out:v0 -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0x7fd56881dc00] using SAR=1/1
[libx264 @ 0x7fd56881dc00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
[libx264 @ 0x7fd56881dc00] profile High, level 3.0
[libx264 @ 0x7fd56881dc00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.20.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], q=-1--1, 29.97 fps, 11988 tbn, 29.97 tbc (default)
 Metadata:
 encoder : Lavc58.35.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.35.100 aac
frame= 46 fps=0.0 q=0.0 size= 0kB time=00:00:01.55 bitrate= 0.2kbits/s spframe= 64 fps= 57 q=26.0 size= 0kB time=00:00:02.15 bitrate= 0.2kbits/s sframe= 83 fps= 51 q=29.0 size= 0kB time=00:00:02.78 bitrate= 0.1kbits/s sframe= 106 fps= 49 q=26.0 size= 0kB time=00:00:03.55 bitrate= 0.1kbits/s sframe= 131 fps= 49 q=29.0 size= 256kB time=00:00:04.38 bitrate= 478.0kbits/s sframe= 155 fps= 49 q=29.0 size= 256kB time=00:00:05.20 bitrate= 403.3kbits/s sframe= 178 fps= 48 q=29.0 size= 512kB time=00:00:05.96 bitrate= 702.9kbits/s sframe= 198 fps= 47 q=26.0 size= 512kB time=00:00:06.61 bitrate= 633.9kbits/s sframe= 218 fps= 46 q=29.0 size= 512kB time=00:00:07.26 bitrate= 577.2kbits/s sframe= 238 fps= 46 q=29.0 size= 768kB time=00:00:07.96 bitrate= 790.0kbits/s sframe= 255 fps= 44 q=29.0 size= 768kB time=00:00:08.52 bitrate= 738.3kbits/s sframe= 278 fps= 45 q=26.0 size= 768kB time=00:00:09.28 bitrate= 677.4kbits/s sframe= 296 fps= 44 q=29.0 size= 1024kB time=00:00:09.89 bitrate= 848.1kbits/s sframe= 317 fps= 43 q=29.0 size= 1024kB time=00:00:10.58 bitrate= 792.3kbits/s sframe= 333 fps= 42 q=29.0 size= 1024kB time=00:00:11.12 bitrate= 754.2kbits/s sframe= 351 fps= 42 q=29.0 size= 1024kB time=00:00:11.72 bitrate= 715.4kbits/s sframe= 363 fps= 41 q=29.0 size= 1024kB time=00:00:12.14 bitrate= 690.8kbits/s sframe= 377 fps= 40 q=29.0 size= 1280kB time=00:00:12.60 bitrate= 831.7kbits/s sframe= 389 fps= 39 q=29.0 size= 1280kB time=00:00:12.95 bitrate= 809.3kbits/s sframe= 401 fps= 38 q=29.0 size= 1280kB time=00:00:13.39 bitrate= 782.7kbits/s dframe= 410 fps= 37 q=29.0 size= 1280kB time=00:00:13.72 bitrate= 764.1kbits/s dframe= 425 fps= 37 q=29.0 size= 1536kB time=00:00:14.18 bitrate= 886.9kbits/s dframe= 446 fps= 37 q=29.0 size= 1536kB time=00:00:14.90 bitrate= 844.1kbits/s dframe= 506 fps= 40 q=29.0 size= 1536kB time=00:00:16.90 bitrate= 744.4kbits/s dframe= 564 fps= 43 q=29.0 size= 1536kB time=00:00:18.83 bitrate= 668.2kbits/s dframe= 600 fps= 44 q=-1.0 Lsize= 1807kB time=00:00:20.03 bitrate= 738.9kbits/s dup=35 drop=0 speed=1.45x 
video:1580kB audio:206kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.204253%
[libx264 @ 0x7fd56881dc00] frame I:74 Avg QP:19.97 size: 9747
[libx264 @ 0x7fd56881dc00] frame P:205 Avg QP:19.82 size: 2384
[libx264 @ 0x7fd56881dc00] frame B:321 Avg QP:20.41 size: 1269
[libx264 @ 0x7fd56881dc00] consecutive B-frames: 25.8% 5.3% 9.5% 59.3%
[libx264 @ 0x7fd56881dc00] mb I I16..4: 17.8% 79.7% 2.5%
[libx264 @ 0x7fd56881dc00] mb P I16..4: 2.7% 5.7% 0.7% P16..4: 17.7% 3.1% 1.2% 0.0% 0.0% skip:68.8%
[libx264 @ 0x7fd56881dc00] mb B I16..4: 0.3% 1.1% 0.1% B16..8: 18.4% 1.7% 0.2% direct: 1.6% skip:76.5% L0:57.0% L1:40.0% BI: 3.0%
[libx264 @ 0x7fd56881dc00] 8x8 transform intra:75.9% inter:87.2%
[libx264 @ 0x7fd56881dc00] coded y,uvDC,uvAC intra: 54.9% 8.2% 1.3% inter: 6.5% 6.0% 0.9%
[libx264 @ 0x7fd56881dc00] i16 v,h,dc,p: 44% 34% 14% 8%
[libx264 @ 0x7fd56881dc00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 22% 30% 4% 5% 3% 5% 3% 5%
[libx264 @ 0x7fd56881dc00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 41% 29% 1% 2% 2% 2% 1% 1%
[libx264 @ 0x7fd56881dc00] i8c dc,h,v,p: 92% 5% 1% 1%
[libx264 @ 0x7fd56881dc00] Weighted P-Frames: Y:1.5% UV:0.5%
[libx264 @ 0x7fd56881dc00] ref P L0: 58.7% 9.7% 21.6% 10.0% 0.1%
[libx264 @ 0x7fd56881dc00] ref B L0: 85.1% 11.6% 3.3%
[libx264 @ 0x7fd56881dc00] ref B L1: 95.7% 4.3%
[libx264 @ 0x7fd56881dc00] kb/s:646.32
[aac @ 0x7fd56881f400] Qavg: 23136.783
$



ffmpeg 5.0 Info and output... It never completes


% ffmpeg -version
ffmpeg version 5.0-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)

% ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4
ffmpeg version 5.0-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2022 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. 17.100 / 57. 17.100
 libavcodec 59. 18.100 / 59. 18.100
 libavformat 59. 16.100 / 59. 16.100
 libavdevice 59. 4.100 / 59. 4.100
 libavfilter 8. 24.100 / 8. 24.100
 libswscale 6. 4.100 / 6. 4.100
 libswresample 4. 3.100 / 4. 3.100
 libpostproc 56. 3.100 / 56. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:13.01, start: 0.000000, bitrate: 1240 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x480, 1103 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'vid2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:07.00, start: 0.000000, bitrate: 122 kb/s
 Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], 112 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 (h264) -> concat
 Stream #0:1 (aac) -> concat
 Stream #1:0 (h264) -> concat
 Stream #1:1 (aac) -> concat
 concat -> Stream #0:0 (libx264)
 concat -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[mp4 @ 0x7fbab280dbc0] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0x7fbab280e840] using SAR=1/1
[libx264 @ 0x7fbab280e840] MB rate (1350000000) > level limit (16711680)
[libx264 @ 0x7fbab280e840] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7fbab280e840] profile High, level 6.2, 4:2:0, 8-bit
[libx264 @ 0x7fbab280e840] 264 - core 164 r3081 19856cc - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], q=2-31, 1000k tbn
 Metadata:
 encoder : Lavc59.18.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
 Metadata:
 encoder : Lavc59.18.100 aac
frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.23 bitrate= 1.7kbits/sMore than 1000 frames duplicated
frame=33367 fps=843 q=33.0 size= 2048kB time=00:00:00.27 bitrate=60212.7kbitsMore than 10000 frames duplicatedx 
frame=66733 fps=841 q=33.0 size= 4352kB time=00:00:00.32 bitrate=109671.7kbitMore than 100000 frames duplicatedx 
frame=100100 fps=825 q=33.0 size= 6656kB time=00:00:00.34 bitrate=156550.4kbiframe=133467 fps=806 q=33.0 size= 8704kB time=00:00:00.39 bitrate=180634.7kbiframe=166834 fps=810 q=33.0 size= 11008kB time=00:00:00.41 bitrate=215757.8kbiframe=200200 fps=812 q=33.0 size= 13312kB time=00:00:00.46 bitrate=234824.6kbiframe=233567 fps=814 q=33.0 size= 153
...



-
How can I retain 2x pixel density when encoding Retina screen capture with ffmpeg ?
26 février 2018, par hfossliWhenever I use ffmpeg to encode a HiDPI/Retina screen recording, the video plays at 2x the size, so it looks fuzzy, because the pixel density is not retained.
How can I retain the original pixel density of HiDPI screen recordings with ffmpeg ?
How to reproduce :
- 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.
To clarify, the video does not look blurry because it was compressed. Rather, it looks blurry because the video is being played twice as big as it should be, at a 1:1 pixel density, instead of the required 2:1 pixel density, presumably because some metadata is being discarded when encoding.
For the record, VLC plays both videos too big (blurry). So being able to play HiDPI videos seems to be a feature of QuickTime Player.
Here is the detailed information ffmpeg shows for the original screen recording :
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.264And here is the information for the ffmpeg-compressed version :
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 -
How can I retain 2x pixel density when encoding Retina screen capture with ffmpeg ?
26 février 2018, par hfossliWhenever I use ffmpeg to encode a HiDPI/Retina screen recording, the video plays at 2x the size, so it looks fuzzy, because the pixel density is not retained.
How can I retain the original pixel density of HiDPI screen recordings with ffmpeg ?
How to reproduce :
- 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.
To clarify, the video does not look blurry because it was compressed. Rather, it looks blurry because the video is being played twice as big as it should be, at a 1:1 pixel density, instead of the required 2:1 pixel density, presumably because some metadata is being discarded when encoding.
For the record, VLC plays both videos too big (blurry). So being able to play HiDPI videos seems to be a feature of QuickTime Player.
Here is the detailed information ffmpeg shows for the original screen recording :
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.264And here is the information for the ffmpeg-compressed version :
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