Y = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
| BT.601 | BT.709 | BT.2020 | |
|---|---|---|---|
| a | 0.299 | 0.2126 | 0.2627 |
| b | 0.587 | 0.7152 | 0.6780 |
| licence: mit |
| /** | |
| * Convert a hex color string to RGB array | |
| * @param {String} hex Hex color string | |
| */ | |
| function hexToRgb(hex) { | |
| var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); | |
| return result ? [ | |
| parseInt(result[1], 16), | |
| parseInt(result[2], 16), | |
| parseInt(result[3], 16) |
Y = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
| BT.601 | BT.709 | BT.2020 | |
|---|---|---|---|
| a | 0.299 | 0.2126 | 0.2627 |
| b | 0.587 | 0.7152 | 0.6780 |
| 'use static' | |
| // noinspection JSUnusedLocalSymbols,JSUnusedGlobalSymbols | |
| /** | |
| * Tools for handling H.264 bitstream issues. | |
| */ | |
| /** | |
| * Handle the parsing and creation of "avcC" atoms. | |
| */ |
| #Display Custom Message on STMPE Bars and Server's Local Time | |
| ffmpeg -re -f lavfi -i "smptehdbars=rate=30:size=1920x1080" \ | |
| -f lavfi -i "sine=frequency=1000:sample_rate=48000" \ | |
| -vf drawtext="text='YOUR MESSAGE %{localtime\:%X}':rate=30:x=(w-tw)/2:y=(h-lh)/2:fontsize=48:fontcolor=white:box=1:boxcolor=black" \ | |
| -f flv -c:v h264 -profile:v baseline -pix_fmt yuv420p -preset ultrafast -tune zerolatency -crf 28 -g 60 -c:a aac \ | |
| "rtmp://your_server_address/stream_key" | |
| #Display Custom Message on STMPE Bars and Time (HH:MM:MS) | |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset=utf-8 /> | |
| <title>videojs-contrib-hls embed</title> | |
| <link href="https://vjs.zencdn.net/8.0.4/video-js.css" rel="stylesheet"> | |
| <script src="https://vjs.zencdn.net/8.0.4/video.min.js"></script> | |
| <script src="https://unpkg.com/@videojs/[email protected]/dist/videojs-http-streaming.min.js"></script> |