星期三, 2月 19, 2020

Real Time Streaming Protocol 2.0 (RTSP)







Reference:
  1. draft-ietf-mmusic-rfc2326bis-33
  2. RTSP MUST follow the same guidelines with regards to TLS [RFC5246] usage as specified for HTTP, see [RFC2818].
  3. https://stackoverflow.com/questions/40123596/rtsp-over-ssl-rtsps
    1. ffmpeg -re -i -acodec copy -vcodec copy -f rtsp rtsps://username:password@:443/live/myStream


星期五, 2月 07, 2020

cursor


#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <ctype.h>

int main(int argc, char *argv[])
{
    const char ESC = '\x1b';
    int r, c, np, i;
    time_t x;
    struct tm * now;
    DIR * proc;
    struct dirent * de;

    r = argc > 1 ? atoi(argv[1]) : 1;
    c = argc > 2 ? atoi(argv[2]) : 72;
    while (1) {
        time(& x);
        now = localtime(& x);
        printf("%c7%c[7m", ESC, ESC);
        printf("%c[%d;%dH%02d:%02d:%02d%c[K", ESC, r, c,
            now->tm_hour, now->tm_min, now->tm_sec, ESC);
        printf("%c[%d;%dH%s%c[K", ESC, r+1, c, "jack test" , ESC);
        printf("%c[m%c8", ESC, ESC);
        fflush(stdout);
        usleep(50000);
    }
    return 0;
}



puts("\x1b[2Jerase screen (清除螢幕)");
    puts("\x1b[0;0Hmove cursor (移動游標)");
    puts("\x1b[1mbold (粗體)[m");
    puts("\x1b[4munderline (底線)[m");
    puts("\x1b[5mblink (閃爍)[m");
    puts("\x1b[7mreverse (反白)[m");
    puts("\x1b[36mcyan foreground (青字)[m");
    puts("\x1b[41mred background (紅底)[m");
    // 第一位數字: 3=前景, 4=背景 */
    // 第二位數字: 1=red 2=green 3=yellow 4=blue 5=magenta 6=cyan 7=white
 //   puts("\x1b[1m[4m[5m[7m[36[41meverything (上述全部)[m");







https://www.cyut.edu.tw/~ckhung/b/mi/textmode.php
http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html
https://www.cyut.edu.tw/~ckhung/b/mi/c/sysinfo.c
https://www.cyut.edu.tw/~ckhung/b/mi/vt100_reference_card.txt




Article 248 of comp.terminals:
Newsgroups: comp.terminals
Path: cs.utk.edu!gatech!udel!bogus.sura.net!opusc!usceast!chan
From: chan@ece.scarolina.edu (Simon Chan)
Subject: VT100 Reference Card !! ( if you are looking for....)
Message-ID: <chan.728236678@hertz>
Keywords: vt100 terminal escape codes
Sender: usenet@usceast.cs.scarolina.edu (USENET News System)
Organization: USC  Department of Computer Science
Date: 28 Jan 93 15:57:58 GMT
Lines: 162



Taken from VT100 Programming Reference Card (DIGITAL)

ANSI Compatible Mode

        Cursor Movement Commands
                Cursor up                       ESC [ Pn A
                Cursor down                     ESC [ Pn B
                Cursor forward (right)          ESC [ Pn C
                Cursor backward (left)          ESC [ Pn D
                Direct cursor addressing        ESC [ Pl; Pc H  or
                                                ESC [ Pl; Pc f
                Index                           ESC D
                Next Line                       ESC E
                Reverse index                   ESC M
                Save cursor and attributes      ESC 7
                Restore cursor and attributes   ESC 8
                * Pn = decimal parameter in string of ASCII digits.(default 1)
                * Pl = line number (default 0); Pc = column number (default 0)

        Line Size (Double-Height and Double-Width) Commands
                Change this line to double-height top half      ESC # 3
                Change this line to double-height bottom half   ESC # 4
                Change this line to single-width single-height  ESC # 5
                Change this line to double-width single-height  ESC # 6

        Character Attributes
                ESC [ Ps;Ps;Ps;...,Ps m
                Ps =    0 or None       All Attributes Off
                        1               Bold on
                        4               Underscore on
                        5               Blink on
                        7               Reverse video on
                Any other parameter values are ignored.

        Erasing
                From cursor to end of line              ESC [ K  or ESC [ 0 K
                From beginning of line to cursor        ESC [ 1 K
                Entire line containing cursor           ESC [ 2 K
                From cursor to end of screen            ESC [ J  or ESC [ 0 J
                From beginning of screen to cursor      ESC [ 1 J
                Entire screen                           ESC [ 2 J

        Programmable LEDs
                ESC [ Ps;Ps;...Ps q
                Ps =    0 or None       All LEDs Off
                        1               L1 on
                        2               L2 on
                        3               L3 on
                        4               L4 on
                Any other parameter values are ignored.

        Character Set (G0 and G1 Designators)
                Charactor Set                   G0 Designator   G1 Designator
                United Kingdom (UK)             ESC ( A         ESC ) A
                United States (USASCII)         ESC ( B         ESC ) B
                Special graphics characters     ESC ( 0         ESC ) 0
                 and line drawing set
                Alternate character ROM         ESC ( 1         ESC ) 1
                Alternate character ROM         ESC ( 2         ESC ) 2
                 special graphics characters

        Scrolling Region
                ESC [ Pt ; Pb r
                Pt is the number of the top line of the scrolling region;
                Pb is the number of the bottom line of the scrolling region
                and must be greater than  Pt.
                (The default for Pt is line 1, the default for Pb is the end
                 of the screen)

        TAB stops
                Set tab at current column               ESC H
                Clear tab at curent column              ESC [ g or ESC [ 0 g
                Clear all tabs                          ESC [ 3 g

        Modes
                                  To Set                To Reset
        Mode Name            Mode        Sequence   Mode        Sequence
        Line feed/new line   New line    ESC [20h   Line feed   ESC [20l
        Cursor key mode      Application ESC [?1h   Cursor      ESC [?l
        ANSI/VT52 mode       ANSI        N/A        VT52        ESC [?2l
        Column mode          132 Col     ESC [?3h   80 Col      ESC [?3l
        Scrolling mode       Smooth      ESC [?4h   Jump        ESC [?4l
        Screen mode          Reverse     ESC [?5h   Normal      ESC [?5l
        Origin mode          Relative    ESC [?6h   Absolute    ESC [?6l
        Wraparound           On          ESC [?7h   Off         ESC [?7l
        Auto repeat          On          ESC [?8h   Off         ESC [?8l
        Interlace            On          ESC [?9h   Off         ESC [?9l
        Graphic proc. option On          ESC 1      Off         ESC 2
        Keypad mode          Application ESC =      Numeric     ESC >

        Reports
                Cursor Position Report
                Invoked by                      ESC [ 6 n
                Response is                     ESC [ Pl; Pc R
                * Pl = line number; Pc = column number

        Status Report
                Invoked by                      ESC [ 5 n
                Response is                     ESC [ 0 n  (terminal ok)
                                                ESC [ 3 n  (terminal not ok)

        What Are You
                Invoked by                      ESC [ c  or  ESC [ O c
                Response is                     ESC [ ?1 ; Ps C
                Ps =    0       Base VT100, no options
                        1       Processor option (STP)
                        2       Advanced Video option (AVO)
                        3       AVO and STP
                        4       Graphocs processor option (GO)
                        5       GO and STP
                        6       GO and AVO
                        7       GO, STP, and AVO
        Alternately invoked by ESC Z (not recommended.) Response is the same.

        Reset
                ESC c

        Confidence Tests
        Fill Screen with "Es"           ESC # 8
        Invoke Test(s)                  ESC [ 2 ; Ps y
        Ps =    1                               Power-up self test
                                                (ROM checksum, RAM, NVR,
                                                keyboard and AVO if installed)
                2(loop back connector required) Data Loop Back
                4(loop back connector required) ETA Modern Control Test
                8                               Repeat selected test(s)
                                                indefinitely
                                                (until failure or power off)

VT52 Compatible Mode
        Cursor Up                               ESC A
        Cursor Down                             ESC B
        Cursor Right                            ESC C
        Cursor Left                             ESC D
        Select Special Graphics character set   ESC F
        Select ASCII character set              ESC G
        Cursor to home                          ESC H
        Reverse line feed                       ESC I
        Erase to end of screen                  ESC J
        Erase to end of line                    ESC K
        Direct cursor address                   ESC Ylc         (see note 1)
        Identify                                ESC Z           (see note 2)
        Enter alternate keypad mode             ESC =
        Exit alternate keypad mode              ESC >
        Enter ANSI mode                         ESC <

        NOTE 1: Line and column numbers for direct cursor address are single
                character codes whose values are the desired number plus
                37 (in Octal). Line and column numbers start at 1.
        NOTE 2: Response to ESC Z is ESC / Z.



-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Simon Chan                                      chan@ece.scarolina.edu
Department of Electrical & Computer Engineering
Swearingen Engineering Centre
University of South Carolina
Coulmbia, South Carolina 29208
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Article 269 of comp.terminals:
Path: cs.utk.edu!gatech!news.ans.net!cmcl2!adm!smoke!gwyn
From: gwyn@smoke.brl.mil (Doug Gwyn)
Newsgroups: comp.terminals
Subject: Re: VT100 Reference Card !!
Keywords: vt100 terminal escape codes
Message-ID: <19629@smoke.brl.mil>
Date: 1 Feb 93 15:01:49 GMT
References: <chan.728236678@hertz>
Organization: U.S. Army Ballistic Research Lab, APG MD.
Lines: 25

In article <chan.728236678@hertz> chan@ece.scarolina.edu (Simon Chan) writes:
>Taken from VT100 Programming Reference Card (DIGITAL)

Note that EK-VT100-RC-001 contains several errors and omissions.
The errors appear to all be fixed in the posted version.
Here are some additions:

        Parameters to Direct cursor addressing can be omitted if 1.
        "Index" is broken if NEWLINE is enabled (set-up).
        "Reverse index" scrolls up retaining the same column.

        CHARACTER SET DESIGNATORS: G0 = Shift-In, G1 = Shift-Out

>       ANSI/VT52 mode       ANSI        N/A        VT52        ESC [?2l
        ANSI/VT52 mode       ANSI        ESC <      VT52        ESC [?2l
        Modes can be combined using ";", for example "ESC [ ? 3 ; 4 ; 7 h"

        CONFIDENCE TESTS: Parameter bits are summed into one parameter.

        Hardcopy                ESC # 7
        Graphic processor ON    ESC 1
        Graphic processor OFF   ESC 2

The reference card showed incorrect graphics for octal code 140; its
correct graphic is ` (accent grave).