Adaptive bitrate streaming

Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video streaming technologies utilized streaming protocols such as RTP with RTSP, today's adaptive streaming technologies are almost exclusively based on HTTP and designed to work efficiently over large distributed HTTP networks such as the Internet.
It works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a video stream accordingly. It requires the use of an encoder which can encode a single source video at multiple bit rates. The player client switches between streaming the different encodings depending on available resources. "The result: very little buffering, fast start time and a good experience for both high-end and low-end connections."

More specifically, and as the implementations in use today are, adaptive bitrate streaming is a method of video streaming over HTTP where the source content is encoded at multiple bit rates, then each of the different bit rate streams are segmented into small multi-second parts. The streaming client is made aware of the available streams at differing bit rates, and segments of the streams by a manifest file. When starting, the client requests the segments from the lowest bit rate stream. If the client finds the download speed is greater than the bit rate of the segment downloaded, then it will request the next higher bit rate segments. Later, if the client finds the download speed for a segment is lower than the bit rate for the segment, and therefore the network throughput has deteriorated, then it will request a lower bit rate segment. The segment size can vary depending on the particular implementation, but they are typically between two (2) and ten (10) seconds.

#[NOUN] The throughput of an organization or system is the amount of things it can do or deal with in a particular period of time.

#[VERB] If something deteriorates, it becomes worse in some way.



Streaming media

Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a provider. The verb "to stream" refers to the process of delivering media in this manner; the term refers to the delivery method of the medium rather than the medium itself.

A client media player can begin playing the data (such as a movie) before the entire file has been transmitted.

Distinguishing delivery method from the media distributed applies specifically to telecommunications networks, as most of the delivery systems are either inherently streaming (e.g., radio, television) or inherently nonstreaming (e.g., books, video cassettes, audio CDs).


Telecommunications network

A telecommunications network is a collection of terminal nodes, links and any intermediate nodes which are connected so as to enable telecommunication between the terminals.


Real-time Transport Protocol(RTP)

The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and web-based push-to-talk features.

Real Time Streaming Protocol(RTSP)

The Real Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points. Clients of media servers issue VCR-style commands, such as play and pause, to facilitate real-time control of playback of media files from the server.
The transmission of streaming data itself is not a task of the RTSP protocol. Most RTSP servers use the Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) for media stream delivery, however some vendors implement proprietary transport protocols. The RTSP server software from RealNetworks, for example, also used RealNetworks' proprietary Real Data Transport (RDT).

Hypertext Transfer Protocol(HTTP)

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems.[1] HTTP is the foundation of data communication for the World Wide Web.
Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext.

Bit rate

In telecommunications and computing, bit rate (sometimes written bitrate or as a variable R[1]) is the number of bits that are conveyed or processed per unit of time.

Data buffer

In computer science, a data buffer (or just buffer) is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another.
Typically, the data is stored in a buffer as it is retrieved from an input device (such as a microphone) or just before it is sent to an output device (such as speakers). However, a buffer may be used when moving data between processes within a computer. 

A buffer often adjusts timing by implementing a queue (or FIFO) algorithm in memory, simultaneously writing data into the queue at one rate and reading it at another rate.


출처 [1]http://en.wikipedia.org/wiki/Adaptive_bitrate_streaming

Posted by Aloha12
,

[원격 조종을 위해서는??]

1. ssh 서버 설치해주세요. (원격 접속을 위함. 아래 링크 참조):

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring


다른 어느 컴퓨터에서 든 터미널만 열 수 있으면 아래와 같은 명령을 사용해서 나의 리눅스 컴퓨터에 접속이 가능하다. ssh peter@165.246.XX.XX

암호를 물어봐서 입력하면 터미널 접속이 완료된다.

윈도우에서 접속 시 대개 아래의 프로그램을 사용한다.


[몇 가지 질문들]

Q.1. 터미널 창에서 설치된 패캐지 목록을 확인하려는데
예를 들어
$ dpkg -l | grep gstreamer | grep 1.0 나
$ dpkg -l |grep ssh 등등...

명령이 먹히지가 않습니다. 패캐지 목록 확인 명령어가
$ dpkg -l | ~~ 로 시작하는게 맞나요??
이때 (-)다음에 영어 알파벳 l  과 |(shift+\)가 맞나요?? 

A.우선 | 는 pipe 란 개념으로 앞선 명령어의 결과를 바탕으로 다음 명령어를 실행시키는겁니다. | 앞의 dpkg 만 우선 시도해보세요. - 이후는 옵션이므로 없이 명령 사용 가능합니다.


[알아 둘만한 간단한 명령어들]

apt-get, dpfk등...

http://neoguru.tistory.com/63

[아주 유용한 Gstreamer deamon영상 만들기]

https://www.youtube.com/watch?v=RMbNh-dZs90

https://github.com/RidgeRun/gstd/wiki/Building-gstreamer-daemon


--
e-mail을 보내고 나선 '감사합니다' '000드림'을 매너 상 붙이자.


'[Linux]Gstreamer' 카테고리의 다른 글

4. Adaptive bitrate streaming 관련 용어 정리  (0) 2015.04.26
2.우분투에 Gstreamer깔기  (0) 2015.04.19
1.리눅스 우분투 깔기  (0) 2015.04.19
이 정도는 눈에 익히기.  (0) 2015.04.14
Posted by Aloha12
,

첫 번째 방법

[우분투에 gstreamer 최신 버전 (1.x) 설치하기]

[1]http://egloos.zum.com/seoz/v/4002136

Q.PPA란 무엇인가???

A. 우분투는 패키지 업데이트가 느리기로 소문이 나있습니다.
그래서 PPA라고 해서 개인 패키지 저장소(Personal Package Archive)[3]라는 기능을 제공합니다.
우분투가 공식적으로 지원하지 않는 패키지라도 누구나 원하는 패키지를 올려놓고 다른 사람들이 다운로드 받을 수 있게 하는 것이죠

Q. Terminal 창 키는 법.

A.Ctrl+Alt+t


두 번째 방법

[PPA for Ubuntu Desktop]

PPA설치를 위해 https://launchpad.net/~gstreamer-developers/+archive/ubuntu/ppa 사이트를 들어간뒤

deb-src http://ppa.launchpad.net/gstreamer-developers/ppa/ubuntu trusty main

다음과 같은 문장을 친다.

[PPA for GStreamer developers]

https://launchpad.net/~gstreamer-developers/+archive/ubuntu/ppa

[Gstreamer 컴파일과 설치]

[2]http://blog.daum.net/basetechnology/6998023

[3]http://kazikai.tistory.com/19

깔아야 할 것들이 있다. Glib, Gobject 등...

[본격적인 Gstreamer 설치]

http://gstreamer.freedesktop.org/src/gstreamer/

두 번째 방법은 사실 잘 안된 방법들이다.

그냥 터미널 창에 밑의 4문장 치는게 제일 간단한 듯 하다.

$ sudo add-apt-repository ppa:gstreamer-developers/ppa 

$ sudo apt-get update

$ sudo apt-get install gstreamer1.0*

$ sudo apt-get install libgstreamer-plugins-base1.0-dev



 



Posted by Aloha12
,

http://www.ulug.or.kr/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%B4%88%EC%8B%AC%EC%9E%90-%EC%8A%A4%ED%84%B0%EB%94%94-ubuntu-14-04-lts-%EC%84%A4%EC%B9%98/

USB를 포멧하는 방식인가 보다

Universal USB Installer 다운로드

리눅스 설치를 위해 C드라이브에서 용량을 확보하고 대략 20g

compmgmt.msc에서 파티션 분할을 통해 따로 공간을 만들려고 했으나

compmgmt.msc서 확보가능한 공간은 매우 작았다.

그리하여

http://www.partitionwizard.com/free-partition-manager.html 에서

파티션 분할 툴을 받아 10g를 확보하려 하였으나

Window fragmentation이 너무 많아 확보가 안된다는 문구가 떴다.

그리하여

Defragmentation을 시도.

http://windows.microsoft.com/en-us/windows/improve-performance-defragmenting-hard-disk#1TC=windows-7

그런데 나의 C드라이브는 NTFS 하드 디스크, 디스크 조각모음 분석이 안되었다. 왜 그렇지...

그리고 집어 넣은 Micro sd카드는 FAT32.  도대체 NTFS는 뭐고 FAT32는 뭐란 말인가...

http://sunwalk.tistory.com/27

https://msdn.microsoft.com/ko-kr/library/cc779002(v=ws.10).aspx

쨋든, NTFS라서 조각 모음이 원할하지 못하고 그리하여 C드라이브의 파티션 10g 확보도 안되고 있는 상황.

그리하여

https://www.virtualbox.org/

Oracle 가상머신에 우분투 설치하였다.

기타 여러가지 문제 해결

설치하고 나니 해상도가 너무 작았다. 띄운 창이 다 안보였다.

http://seldest.tistory.com/208  //가상머신에서 해상도 조절 팁

--------------------------데스크 탑-----------------------------

[듀얼부팅] 데스크탑에 우분투 설치해서 부팅중 Window나 Linux 선택할 수 있게 하기

그러러면 파티션 분할이 필요한가??

그러면 가상머신을 안써도 될 듯.

http://kmjg6357.tistory.com/45 [디스크 파티션 복제]

http://snoopybox.co.kr/1581

다시

http://www.ulug.or.kr/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%B4%88%EC%8B%AC%EC%9E%90-%EC%8A%A4%ED%84%B0%EB%94%94-ubuntu-14-04-lts-%EC%84%A4%EC%B9%98/

로 들어가서 부팅용 USB 만든 다음에 설치.

한글키 변환 문제도 해결.

[듀얼부팅의 여러가지 방식]

듀얼 부팅에도 여러가지 방식이 있다.

http://crampstory.tistory.com/34
http://crampstory.tistory.com/29
http://crampstory.tistory.com/30

[치명적인 문제 발견]

우분투를 깔고나서 반드시 부팅용 USB는 빼고 다시 실행해야 한다. 그렇지 않으면 다시 설치 화면으로 넘어가서 설치하게 된다.

'설치 안하고 우분투 실행하기' 누르면, 설정해 준 것들이 다 사라지고, 초기화된 화면이 나타난다;;;

그렇다고 재 설치를 누르면 에러가 발생한다.

나는 그래서 다시 윈도우 모드로 돌아간뒤, 우분투를 위한 파티션을 compmgmt.msc(디스크 관리)에서 지웠다. 즉, 다시 검은색 영역으로 만들었다.

그런 다음 재시작-부트모드-USB로 우분투를 다시 깔려하니 치명적인 에러 메세지가 잡혔다. (Fatal Error)

교수님이 말씀하시길 윈도우로 이미 무언가 깔아놓은 파티션은 다시 건드리는게 아니라고 하셨다. (프로그래머들은 윈도우로 파티션 다루는걸 조심한다고 하셨다.)

그리하여 난 HDD를 빼고 1T짜리로 다시 달아주었고... 결국 윈도우&리눅스라는 멀티부팅은 하지 못하고 HDD에 리눅스만 깔아주었다.

Posted by Aloha12
,

크로스 플랫폼[ cross platform ]

소프트웨어하드웨어 등이 다른 환경의 OS에서 공통으로 사용되는 것. 예를 들면 1개 기종의 하드웨어가 워크스테이션 또는 PC에서 사용되거나, 유닉스 시스템이나 윈도즈, 맥 OS 등의 복수 환경에서 사용되는 것을 말한다. 소프트웨어의 크로스 플랫폼의 대표적인 예로는 자바로 작성한 프로그램이 있는데, 1회 작성한 프로그램은 "바이트 코드"라는 중간 코드를 생성하고, 이 코드의 형식에 컴파일되어 다른 복수의 환경에서도 동작이 가능하게 된다. 따라서 화상 데이터와 같은 데이터에 관해서도 크로스 플랫폼의 예는 많다.

[네이버 지식백과] 크로스 플랫폼 [cross platform] (IT용어사전, 한국정보통신기술협회)

유닉스 시스템[ UNIX system ]

미국 벨 연구소에서 만든 소형 컴퓨터운영 체계. 단순하면서도 강력한 명령을 가지고 있으며, 그에 구애받지 않는 파일 시스템을 보유함으로써 프로그램을 편리하게 개발할 수 있도록 설계된 운영 체계 겸 소프트웨어 시스템이다. 구체적으로는 운영 체계를 간소화하여 최소의 기능만을 제공함으로써 실제의 복잡한 문제들을 사용자 프로그램이 스스로 해결하도록 하고, 규모가 큰 프로젝트라도 새로운 프로그램을 개발하지 않고 기존의 작은 프로그램을 조합하여 해결할 수 있다. 또 다양한 기능들을 처리하기 위해 다음과 같은 보편성이 있다. ㉠파일, 기기, 프로세스 간의 메시지 버퍼 장치의 입력에 똑같은 시스템 호출이 사용되고, ㉡파일 목록, 기기들에 대해 같은 명명, 가명, 접근 보호 방식을 적용하며, ㉢소프트웨어 끼어들기와 프로세서의 트랩에 똑같은 처리 방식이 사용된다.

[네이버 지식백과] 유닉스 시스템 [UNIX system] (IT용어사전, 한국정보통신기술협회)

리눅스[ Linux ]

요약
1991년 11월에 리누스 토르발즈(Linus Torvalds)가 버전 0.02을 공개한 유닉스 기반 개인컴퓨터용 공개 운영체제이다. 유닉스와 거의 유사한 환경을 제공하면서 무료라는 장점 때문에 프로그램 개발자 및 학교 등을 중심으로 급속히 사용이 확대되고 있다.

1989년 핀란드 헬싱키대학에 재학중이던 리누스 토르발스(Linus Torvalds)가 유닉스를 기반으로 개발한 공개용 오퍼레이팅시스템(OS)으로, 1991년 11월 버전 0.02이 일반에 공개되면서 확대 보급되기 시작하였다. 유닉스(Unix)가 중대형 컴퓨터에서 주로 사용되는 것과는 달리, 리눅스는 워크스테이션이나 개인용 컴퓨터에서 주로 활용한다.
리눅스는 소스 코드를 완전 무료로 공개하여 전세계적으로 약 5백만 명이 넘는 프로그램 개발자 그룹을 형성하게 되었으며, 이들에 의해 단일 운영체제의 독점이 아닌 다수를 위한 공개라는 원칙하에 지속적인 업그레이드가 이루어지고 있다.
파일구성이나 시스템기능의 일부는 유닉스를 기반으로 하면서, 핵심 커널 부분은 유닉스와 다르게 작성되어 있다. 인터넷 프로토콜TCP/IP를 강력하게 지원하는 등 네트워킹에 특히 강점을 지니고 있으며, 유닉스와 거의 유사한 환경을 제공하면서 무료라는 장점 때문에 프로그램 개발자 및 학교 등을 중심으로 급속히 사용이 확대되고 있다.
리눅스는 각종 주변기기에 따라 혹은 사용하는 시스템의 특성에 맞게 소스를 변경할 수 있으므로 다양한 변종이 출현하고 있다.

[네이버 지식백과] 리눅스 [Linux] (두산백과)

 

워크스테이션[ workstation ]

요약
개인이나 적은 인원수의 사람들이 특수한 분야에 사용하기 위해 만들어진 고성능의 컴퓨터.

미니컴퓨터의 처리 능력에 버금가는 고성능의 컴퓨터로서 외형은 개인용 컴퓨터와 비슷하나 운영체제로 보통 유닉스 계열을 사용하며 윈도우 NT를 사용하기도 한다.

일반적으로 명령어가 간단하고 적은 RISC 마이크로프로세서 칩을 사용하는데, 이는 복잡한 명령어를 없앰으로서 프로세서 속도를 증가시켜 고속연산을 하기 위해서이다. 일반 컴퓨터보다 성능이 월등히 높고 처리속도가 빠른 반면에 가격은 비싼 편이다.

클라이언트/서버 네트워크를 제어할 수 있는 다중 사용자 시스템으로 쓰이기도 하고, 고화질의 그래픽 영상을 생성하거나 일반 사무작업을 처리하는 단독 시스템으로도 사용되기도 한다. 다양한 응용 소프트웨어가 개발됨에 따라 그 사용이 증가되고 있으며 고속연산을 요하는 그래픽 처리분야, 컴퓨터 설계(CAD), 시뮬레이션 분야에 활용된다.

[네이버 지식백과] 워크스테이션 [workstation] (두산백과)

TCP-IP[ transmission control protocol-internet protocol ]

요약
인터넷에서, 서로 다른 시스템을 가진 컴퓨터들을 서로 연결하고, 데이터를 전송하는데 사용하는 통신 프로토콜이다.  

기종이 서로 다른 컴퓨터 시스템을 서로 연결해 데이터를 전송하기 위한 통신 프로토콜으로서 1980년 초 미국 국방부가 제정하였다. 유닉스(UNIX) 운영체제 내에 채용되었으며 인터넷에도 사용되었고, 유닉스와 인터넷 사용이 늘어나면서 TCP-IP네트워크상에서 데이터를 전송하는 표준이 되었다.
미국 국방부에서 구축한 전산망인 알파넷(ARPAT)에서 개발된 프로토콜으로서 1983년 1월 알파넷에서 NCP 대신에 이 표준을 사용하였다. 그 후에 알파넷에서 Milnet를 독립시키고, 이 두 네트워크 사이의 통신으로 인터넷을 이용할 무렵 미국 방위통신청(DCA;Defense Communication Agency)이 모든 알파넷을 이용하는 호스트 컴퓨터TCP-IP로 사용하도록 한 것이 시초가 되었다.
TCP-IP의 기본 서비스에는 원격 로그인, 파일전송 및 전자우편이 있다. 이 밖에도 TCP-IP에 의해 연결된 네트워크 장치는 LAN 노드(node)의 물리적인 주소를 살핀다든지, 기기의 영문자를 숫자명으로 매핑한다든지, 네트워크를 관리한다든지 하는 등의 작업을 할 수 있다. 독립적인 개방형 구조로서 이들 일련의 프로토콜은 호스트의 하드웨어·운영체제·접속매체의 차이와 관계없이 동작되도록 설계되어 있다.

네이버 지식백과] TCP-IP [transmission control protocol-internet protocol] (두산백과)

 

Posted by Aloha12
,