Posts

Showing posts with the label video

Useful Python Video Scripts

Taken from a LinkedIn post. Useful Python Scripts:  https://videonerd.website/useful-python-scripts/ Python Scripts for Computer Vision:  https://videonerd.website/python-scripts-for-computer-vision/ Python Scripts to Analyze and Process Transport Streams: https://videonerd.website/python-scripts-to-analyze-and-process-transport-streams/

HDR Research

Overview We are looking at what it would take to encode HDR-10 and Dolby Vision videos using an AVC/HEVC encoder. HDR-10 : 10-bit HDR, BT.2020, PQ transfer function, static metadata Dolby Vision : 12-bit HDR (10bit YUV + deltas defined in metadata = 12 bit), BT.2020, PQ transfer function, Dolby Vision dynamic metadata  What is HDR-10? From  this  paper, we have gleaned the following: Essentially, HDR-10 is defined as the combination of the following container and coding characteristics: Color container/primaries: BT.2020 PQ Transfer function (OETF/EOTF): SMPTE ST 2084 Representation: Non Constant Luminance (NCL) YCbCr Sampling: 4:2:0 Bit Depth: 10 bits Metadata: SMPTE ST 2086, MaxFALL, MaxCLL,  AVC/HEVC Supplemental enhancement information (SEI) Messages. Encoding using: HEVC Main 10 profile or AVC High 10. The AVC/HEVC specifications support all of these features as well as metadata (SEI) that can specify the mastering and brightness limitat...

MXF Research

Image
Sony's HD Formats Guide from 2008 Avid and MXF   From digitalpreservation.gov: MXF File, OP1a, MPEG-2 in Generic Container MXF Operational Pattern 1a (OP1a) Creating MXF and AAF Files: MXF is a container format that is designed to "wrap" media files and carry associated metadata.  AAF is a metadata file format that can describe how to assemble a program from original sources. Cinecert's asdcplib  for creating MXF Advanced Authoring Format SDK  for creating AAF   XDCAM Formats from  wikipedia : DirectShow MXF Mux with Main Concept: I've been able to pull all elementary streams out of an MXF (except for the ancillary 608 CC track #9).  I've then been able to build a graph to remux all those sources using MC MXF Multiplexer. Creating XDCAM HD 422 using ffmbc: ffmbc -i Outlander211_prem_4k_30sec.h264 -target xdcamhd422 -s 1920x1080 out.mxf Creating XDCAM HD 422 using Direct Show: Main encoder settings: Advanced set...

FFMPEG Compliation Guide: libx264, MinGW and MSYS

The following were taken from  here  and  here . Get the nasm assembler:  http://www.nasm.us/ Stable build of libx264 can be found here:  ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ Build libx264 H.264 video encoder. See the  H.264 Encoding Guide  for more information and usage examples. Requires ffmpeg to be configured with --enable-gpl --enable-libx264. If your repository provides libx264-dev version ≥ 118 then you can install that instead of compiling: sudo apt-get install libx264-dev Otherwise you can compile: cd ~/ffmpeg_sources git -C x264 pull 2> /dev/null || git clone --depth 1 http://git.videolan.org/git/x264 cd x264 If not using Mingw-w64, us this configure line: ./configure --enable-static If using Mingw-w64, use this configure line: ./configure --host=x86_64-w64-mingw32 --disable-cli --enable-static --disable-gpac --disable-swscale --enable-strip make make install Now...

FFMPEG Compilation Guide: MinGW and MSYS Pure, NO VISUAL STUDIO TOOLCHAIN

Most of what is below is stolen from here, with a few tweaks:  https://trac.ffmpeg.org/wiki/CompilationGuide/MinGW The goal is to use the MinGW-w64 build tools, like gcc.exe, but under the MinGW "Mainline" shell.  You accomplish this by putting MinGW-w64's bin first in your PATH when running a shell under MSYS, which is installed by MinGW "Mainline".  You want to find the MinGW-w64 versions of gcc.exe before finding the MinGW "Mainline" version of gcc.exe. Install MinGW-w64 MinGW-w64 can be  found on SourceForge . Change the install path to C:\mingw-w64.  This will make setting up your PATH environment variable easier.  The default install path is dumb. Install MinGW "Mainline" Go to  http://www.mingw.org  and look for the "Download" page. The recommended way to install MinGW/MSys is through the automated installer, mingw-get-setup.exe. This will download most of the basic core packages. It will usually install in C...

FFMPEG Command Examples (Useful FFMPEG Commands)

Some of these are taken from here and here  and here . Good beginner guide:  here Nice set of examples:  here FFMPEG Audio Manipulation commands: https://trac.ffmpeg.org/wiki/AudioChannelManipulation Shorten a file.  Start at 0, and encode 180 seconds.  Copy ALL streams, not just the first or "best" of each type, which is the FFMPEG default: ffmpeg -i input.mpg -ss 00:00:00 -t 180 -map 0 -codec copy output.mpg Convert MP4 frames to Annex B: ffmpeg -i input.mov -codec:v copy -codec:a copy -bsf:v h264_mp4toannexb -f mp4 -y output.mp4 Get information about a media file: ffmpeg -i video.avi Extract (demux) the audio track from a video file: ffmpeg -i video.mts -acodec copy -vn audio.ac3 Extract (demux) the video track from a video file: ffmpeg -i video.mts -vcodec copy -an -f h264 ffNT.h264 Merge an audio and a video track (mux): ffmpeg -i video.h264 -i audio.ac3 -vcodec copy -acodec copy videoaudio.ts Resize an original Full-HD (...

HEVC Companion Document - f265.org

Great rewrite of the HEVC spec. HTML PDF

DivX, Matroska, and HEVC

Work I did to extend the public Matroska MKV spec for HEVC. http://labs.divx.com/node/127905 http://labs.divx.com/book/export/html/127907 Mappings for HEVC/H.265 in Matroska: http://lists.matroska.org/pipermail/matroska-devel/2013-September/004567.html

MP4 Container - MOOV Atom And Such

http://www.adobe.com/devnet/ video/articles/mp4_movie_atom. html

MPEG Standards

MPEG-DASH, MPEG-4, etc.

Motion Compensation

https://en.wikipedia.org/wiki/Motion_compensation

Digital Video Overview

Colin Manning Site

Quarter-Pixel Accuracy Motion Estimation

Quarter-Pixel Accuracy Motion Estimation

HEVC Analyzer

http://sourceforge.net/projects/gtilhevcanalyzer