


Of course, video encoding algorithms are a lot more complex, but this is a simple way of understanding their basic behavior. You can list pictures types of a video using FFprobe and this command (it outputs JSON data):įfprobe -v quiet -pretty -print_format json -show_entries "format=size,bit_rate:frame=coded_picture_number,pkt_pts_time,pkt_pts,pkt_dts_time,pkt_dts,pkt_duration_time,pict_type,interlaced_frame,top_field_first,repeat_pict,width,height,sample_aspect_ratio,display_aspect_ratio,r_frame_rate,avg_frame_rate,time_base,pkt_size" -select_streams v:0 video.mp4 A **B-Frame** relies on previous and next frames for reconstruction A **P-Frame** relies on previous frames for reconstruction An **I-Frame** is a reference frame, a full picture When the scene changes, you can store a new reference frame, and compute differences from that new starting point. So, if you know one frame, you just have to store the difference with the next one, and re-compute it on the fly when playing, and then do the same for the next frame, and so on. Instead, video files are compressed, using the fact that in a real video, the next frame remains close to the previous one. For a one minute HD video at 30 frames per second and 8 bit color depth, the file size would be more than 10 Gb. You can take a series of JPGs and concatenate them into a video file, for instance, using FFmpeg:įfmpeg -framerate 30 -i frame_%03d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4īut storing each individual frame of a video is an insanely inefficient solution. # A Quick Introduction to Video Encodingīasically, a video is a sequence of still images, called frames. To get an understanding of the principle, one must know a little bit about video encoding. I found that amazing, and wanted to try it myself. And he plays with that to merge several pictures in evocating ways.Įxtracted from Avant l'effondrement du Mont Blanc (2020) He encodes videos in such a way that he loses data without corrupting the file, resulting in mesmerizing video artifacts. In the video, the French artist Jacques Perconte exhibits his work, that relies on data moshing. I once saw a very intriguing YouTube video: (), on (), a show produced by the Franco-German television channel () and dedicated to emergent forms of art.
