Video Compression

VideoNerd

How to Generate Skip Frame in H264/AVC and in HEVC

There is a notion as skip-frame in video coding – the frame which is exactly the same as the previous reference.   In screen coding and in computer graphics generated content skip frames are not uncommon.   How to generate skip-frame in H264 and in HEVC?   Two approaches:   1) P skip frame in H264 […]

How Encode/Transcode/Decode HEVC/H.264 by NVIDIA with ffmpeg

Content Sanity Checks Encoding HEVC Encode                      H264 Encode Transcoding            Decoding     Sanity Checks First of all you need check that ffmpeg supports nvenc (access to nvidia hw encoder), you merely type ‘ffmpeg’ in the command line and check –enable-nvenc is present in the configuration list: ffmpeg ffmpeg version git-2020-07-21-b5f1e05 Copyright (c) 2000-2020 […]

H.264/AVC Error Handling

Content Prelude Notes on Random Access Points Error Detection Latency Error Recovery and Concealment Slice Data Errors Recovery and Concealment NAL Header Error Recovery & Concealment Lost Field Handling Details of Data Concealment Additional Recommendations To Enhance Error Resilience in AVC/H.264 Streams Mathematical Expectation of Number Corrupted Frames in Packet Loss Channel   Prelude Packet […]

Apple ProRes with ffmpeg

Apple ProRes is a particular standard (different from H.264/AVC) developed by Apple to replace M-JPEG. ProRes is tailored to support 4:2:2 and 4:4:4 video with 8,10 and 12 bits per sample. The ProRes codec (both encoder and decoder) is supported by ffmpeg (by default). ffmpeg -codecs | findstr prores DEVIL. prores               Apple ProRes (iCodec Pro) […]

Python Script to Check PCR Integrity

The python script PcrAnalysis.py  is tailored to check PCR integrity (or timing integrity) of MPEG TS stream. This script analyzes: whether PCR interval is smaller or equal to 100ms (as required by MPEG System standard). If not a violation is reported. whether PCR values are monotonic unless the discontinuity flag is set. If not a […]