It’s been almost a year and half since Jakub posted the installation document of Hwangsaeul (a.k.a H8L) project. The project members are still rush to develop the project for the various use cases. Although the H8L project is originally designed to support the massive deployment of video surveillance cameras which enable SRT transmission, we found that there is much more potential when we switch the domain to UAV(Unmanned Areial Viehicle) and UGV(Unmanned Ground Vehicle). Therefore, we had to change the overall shape of H8L to optimize for the new targets.
Deprecation of Messages Queue
The major architecture change for the second version of H8L is to remove the dependency on message queue by the deprecation of Chamge. Although the module is good for exchanging complex messages among service components, it is an overkill architecture for real-time video streaming that focuses on video quality and ultra-low latency. In addition, there are lots of message queue based platform so we decided not to keep developing duplicated effort. Instead, we re-designed that each component provides D-Bus API and local settings. Since we removed this component, unfortunately, ABI compatibility with the previous version will not be guaranteed while this project is on-going.
Gaeul: Umbrella repository for streaming agents
Another change is done on the Gaeul. In the previous version, the module was in charge of edge streaming only. However, from the second version, it becomes a set of streaming agents; video source, relay, and even protocol conversion including transcoding. By analogy from the meaning of the word, it would be a very natural change for this module to handle the stream of data and video because Gaeul means babbling brook in Korean.
New Architecture
In new H8L, there are three major repositories; Gaeul, Hwangsae, and Gaeguli.
Hwangsae: SRT relay library
Gaeguli: Video stream source library
Gaeul: A set of video streaming services
Since Gaeul provides all of streaming agents, it will always require Hwangsae and Gaeguli depending on the feature it uses.
Running H8L
Nightly builds are available as binary packages for Ubuntu 20.04.
Note that the PPA provides important packages; libsrt and gst-plugins-bad. Since Ubuntu 20.04 provides slightly old version of those packages, some features like stream-id and SRT option strings are not supported. SRT(=1.4.2) and gst-plugins-bad with some patches that will be provided by newer version of GStreamer should be installed before using H8L features. Using PPA may be more convenient to test and have experience of H8L than building from scratch. Surely, some enhancement patches of SRT and GStreamer are already submitted to the upstream and most of them are landed onto master branch or ready for landing. If you’d like to check the patches, you can refer to our forked repositories; libsrt and gst-plugins-bad.
Source
The first agent of Gaeul is gaeul2-source-agent that is nomally simlilar to stream generator(or simply called as encoder).
$ sudo apt-get install gaeul2-source-agent
Settings
Before running the source agent, we need to set configurations to specify video parameters and SRT options. The settings are consist of two parts; one main configuration and multiple channel configurations.
Main Configuration
This configuration file is an entry point that provide capture device informations to the source agent. For the stream authentication, Stream ID is mandatory for H8L’s source agent and uid will be used for stream-id prefix for channels.
channel-configs option takes a list of absolute file paths that are channel configurations.
This sub-configuration describes what type of SRT stream will be sent from which video capture device. In theory, the source agent can have an infinite number of channel configurations, but it will be limited by hardware performance. Normally, it shouldn’t exceed 2 channels encoding for 4K 30fps, or equivalent video encoding parameters.
The below is an example of a channel configuration.
With uid of a main configuration, name option will be used to compose a stream-id for this channel stream. if device0 is given for the uid and channel0 is for the name, this video channel will have device0_channel0 stream id.
Running
Now, it’s time to run the source agent. If the configurations are provided correctly, user can choose D-Bus mode; session, system and none.
If none is used, the agent will not try to acquire d-bus name. Regardless --dbus-type, it will send stream or trying to connect to the given target-uri of a channel configuration until SRT stream receiver is ready.
If it is suspicious that the source agent sends a stream or not, the easiest way to check is to get log messages. Since all of H8L components follows GLib and GStreamer conventions, it shows log messages by setting two major environmental variables.
Then, now user can get log messages on their console.
Relay
The relay agent plays a role to distribute SRT stream from source to users. It provides stream authentication option to distinguish SRT session by stream-id. Surely, the authentication option can be disabled when it requires the compatiblity with the legacy SRT equipment or software.
Settings
Unlike the source agent, the relay agent has a main configuration only.
uid: a unique id, it is used for identifying each relay service.
sink-port: a network port to be connected from a source agent.
source-port: a network port to be connected from a user or video stream consumer.
sink-latency, source-latency: SRT latency value for each connection.
external-ip: usually, it is used for VM in cloud service that has an external address.
authentication: an option to inteprete SRT streamid or not.
Running
If a configuration file is ready, it can be run with the below command. In a relay service, D-Bus API should be enabled to use a stream authentication feature. Here, it is assumed to use session-wide D-Bus API.
The relay is relatively simple because of SRT-nature; content agnostic. However, it plays very important role as a live stream distributor. In current implmentation, the relay agent supports only SRT’s live mode.
The relay provides a whitelist-based stream authentication mechanism. That means, the agent should know streamid before attempting to connect. Otherwise, the agent will reject stream connection.
To allow a connection from source agent, the stream-id of source agent must be registered. Here, it assumed that the source agent uses device0_channel0 as its stream-id.
Then, if a user who has the unique id, admin0, wants to get a video stream of the source agent, device0_channel0, a source token should be registered too.
H8L is not all about streaming video over SRT. It is actually designed to overcome unpredictable network in two major concerns. The first is how to stream high-quality video over high bandwidth capable network, and the second is to prevent video stuttering at a discernable level even if the quality is dropped. SRT dealt with the first issue very well by congestion control, but the second issue is complicated. Without media processing and network status prediction, it will be difficult to find solution. Here, we sugguest network adaptive streaming of H8L.
참고로 REUSE.software 프로젝트의 가이드를 따르면 모든 파일에 적절한 표시가 되었는지 확인할 수 있습니다.
저작권이란?
저작권은 (베른 협약 이후) 저작자가 저작물 만들 때 자동으로 생성됩니다. 모든 저작물은 저작권에 의해 보호되며, 저작권 보유자에게 저작물에 대한 독점적인 권한이 부여됩니다. 따라서 당신의 저작물(소스 코드, 텍스트, 이미지, 기타 미디어 등)을 다른 사용자가 사용할 수 있게 하려면 그들에게 라이선스를 부여해야 합니다. 라이선스의 사전적 정의는 “특정 권리를 실행하기 위해 자격이 있는 기관으로부터 받은 허가"이며, 이러한 허가 없이 특정 권리를 실행하는 것은 저작권 침해와 같은 불법 행위가 됩니다.
마찬가지로 당신이 다른 사람의 소스 코드를 복사, 수정 등의 작업을 하려면 필요한 권한을 부여 받아야 합니다. 즉, 라이선스를 받아야 합니다. 만약, 그 라이선스가 권리 실행 허가 조건으로 특정 의무를 요구한다면, 당신은 권리 실행을 위해 그 의무사항도 따라야만 합니다.
어쨌든, 저작권법의 기본 요건을 준수해야 하며, 이를 위해서는 최소한 다음 두 가지가 필요합니다.
저작자 표시 (attribution) : 저작권 보유자 및/또는 저자를 명시합니다. (특히 도덕적 권리를 인정하는 관할권에서)
라이선스 (license) : 라이선스는 저작권 보유자 이외의 다른 사람에게 코드를 사용할 권한을 부여하는 유일한 방법이기 때문에 라이선스를 고지하고 전체 라이선스 텍스트를 제공하는 것이 좋습니다. 이는 당신이 내보내는 Outbound 라이선스나 (복사된 코드나 라이브러리 같은 3rd party 저작물을 사용하면서) 다른 이로부터 받는 Inbound 라이선스 모두에 해당합니다.
Inbound vs. Outbound 라이선스
당신이 사용자(downstream)에게 부여한 라이선스를 Outbound 라이선스라고 부릅니다. 이는 당신으로부터 흘러나오는(out) 코드의 권한을 다루기 때문입니다. 반대로, (동일한 코드의) 사용자 입장에서는 그들에게 흘러들어오는 (In) 코드의 권한을 다루기 때문에 Inbound 라이선스로 간주합니다.
간단히 말해, 유입되는 권한을 설명하는 라이선스를 Inbound 라이선스라고 하고, 유출되는 권한을 설명하는 라이선스를 Outbound 라이선스라고 합니다.
다행인 점은 저작자 표시는 저자의 권리이지 의무는 아닙니다. 또한 사용자는 저자가 저작자 표시 권리를 사용한 경우에만 이를 유지해야 하는 의무가 있습니다. 즉, 저자가 저작자 표시를 하지 않았을 때에는 사용자가 이를 직 표시하려고 수고하지 않아도 됩니다.
왜 저작권 표시를 해야 하나요?
1989년 베른 협약에 가입하기 전까지 미국 저작권법은 저작물을 보호하려면 명시적인 저작권 표시를 요구했습니다. 그러나 베른 협약으로 저작권 표시를 하지 않아도 저작권은 자동으로 생성됩니다. 그럼에도 저작권 표시는 유용합니다.
저작권 표시가 법에 따라 요구되는 것은 아니지만, 실제로는 해당 저작물의 저작권이 누구에게 있는지에 대한 증거로서 매우 유용합니다. 또한, 이는 컴플라이언스 측면이나 코드 추적을 위해서도 큰 도움이 됩니다.
저작권 표시는 실질적으로 다음과 같은 이유로 필요합니다.
대부분의 라이선스가 저작권 표시를 요구합니다.
라이선스에서 요구하지 않더라도 대부분의 관할권의 저작권 법률에서 요구합니다.
(이러한 요구가 없더라도) 사용자는 법적 또는 기술적인 이유로 원저작자에게 연락하기를 원할 수도 있습니다.
어떤 사람들은 연도를 생략하고 단순하게 작성하는 게 오히려 저작권 표시를 유지하기 쉬울 것이라고 주장합니다. 실제로 이는 Microsoft와 GitHub의 정책이기도 합니다.
연도를 표시하지 않는 게 작업을 크게 단순화한다는 데에는 동의하지만, 이를 유지한다면 코드 베이스에서의 모호한 타임라인을 확인하는 데 도움이 됩니다. 또한, 발명이 처음으로 일반인에게 언제 공개되었는지를 알아내는데 유용할 수 있습니다. 특히 특허 방어에 유용하게 사용될 수 있습니다.
이런 사항들을 고려하여 Liferay의 새로운 정책에서는 파일 생성 연도를 작성하고, 연도를 더 변경하지 않습니다.
왜 연도 표시를 변경하지 말아야 하나요?
다음과 같은 저작권 표시를 보았을 겁니다.
Copyright (C) 1992, 1995, 2000, 2001, 2003 CompanyX Inc.
이렇게 계속해서 연도를 추가하는 건 이렇게 하면 저작권 보호 기간을 연장할 수 있다는 생각이 있기 때문이며, 실제 널리 행해 지고 있습니다. 하지만, 불행하게도 이런 작업은 쓸모가 없고, 오히려 해가 될 도 있습니다.
게다가 새로운 변경이나 기여를 받을 때마다 이렇게 그 연도를 추가하는 행위를 법적으로 본다면 논란의 여지가 있습니다. 문제는 모든 기여가 저작권을 주장할 수 있을 정도로 독창적이거나 규모가 있지 않습니다. 따라서, 문제 소지를 없애려면 모든 기여에 대해 법률에 따라 저작권 보호를 받을 수 있을 만큼 독창적인지 여부를 먼저 판단하고, 그에 따라 저작권 표시에 연도를 추가해야할 것입니다.
반면에 저작권은 저자의 사망 이후 (혹은 저작권자가 법인일 경우, 발행 이후) 최소 50년 (보통 70년) 동안 지속됩니다. 따라서, 굳이 저작권 표시에 연도를 계속해서 추가하지 않아도 보호 기간 만료 때문에 저작권을 주장하지 못하게 될 위험은 매우 낮습니다.
게다가, 일반적으로 하나의 소스 코드 파일은 소프트웨어를 구성하는 수많은 파일 중 하나일 뿐입니다. 소프트웨어가 성장해가면서 새롭게 파일이 추가될 텐데, 그때 새로운 파일에 새로운 작성 연도를 추가해간다면 전체 저작물로서의 소프트웨어에는 최신 연도의 저작권 표시가 이미 포함되고 있는 겁니다.
Git/VCS 히스토리를 더럽히지 마세요
만약 매년 모든 파일에 연도 표시를 새롭게 추가한다면 이로 인해 Git/VCS 히스토리가 불필요하게 길어지게 되고, 저장소 공간을 소비하며, 정작 중요한 정보를 찾을 때 방해가 될 수 있습니다.
연도를 범위로 표시하는 건 어떤가요?
연도를 범위로 표시하는 것(예: 1999-2020)도 매년 연도 표시를 변경해줘야 하기 때문에 위의 질문에서 언급한 모든 사항이 동일하게 적용됩니다.
어떤 경우는 ‘{$year}-present’와 같은 형태로 범위를 지정하기도 합니다. 이 또한 위에서 언급한 사항들이 대부분 적용되며, 추가로 또 다른 혼란을 줄 수 있습니다. ‘present’가 의미하는 것은 추상적입니다. ‘present’는 어떤 것을 의미하는 걸까요?
파일이 마지막으로 수정 시간?
패키지가 릴리즈된 시간?
처음 다운로드 한 시간?
마지막으로 실행한 시간?
아니면 바로 지금?
이처럼 ‘present’는 전혀 도움이 되지 않는 표시입니다.
Git/Mercurial이 저작권 정보를 추적하는데 더 좋지 않나요?
항상 그렇지는 않습니다. Git (및 다른 VCS)은 메타데이터 관리에 뛰어나지만, 항상 이 의존하는 것은 주의해야 합니다.
먼저 Git은 ‘Committer’ 필드와 별개로 ‘Author’ 필드가 있습니다. 기여자마다 ‘Author’ 필드에 제각각의 값을 포함시킬 뿐더러, ‘Author’ 필드에 입력된 사람이 실제 저자라고 가정하여도 저자는 저작권 보유자가 아닐 수도 있습니다.
더 중요하게는, 파일이 저장소에서 옮기게 되면 메타데이터는 사라집니다. 소스 코드만 압축해서 배포한다거나, 저장소를 fork 혹은 rebase하는 방식으로 각 파일을 새로운 코드 베이스로 복사하면 이전까지의 추적 데이터는 더 이상 확인할 수 없습니다.
이러한 문제들은 모든 파일에 저작권 및 라이선스 정보를 표시하면 해결됩니다. REUSE.software의 Best Practice는 이를 아주 잘 처리합니다.
사용자는 법적 또는 기술적인 문의를 위해 코드의 저자 또는 저작권 보유자에게 연락하고 싶을 수 있습니다. 코드가 어떻게 동작하는지 물어보거나 수정을 요청할 수도 있습니다. 라이선스 문제를 발견하여 문제를 해결할 수 있도록 도움을 주거나 별도의 라이선스를 요청해야 할 수도 있습니다. 이 모든 경우에 연락처 정보가 많은 도움이 됩니다.
현재까지도 이메일이 자주 사용되는 연락 방법이기 때문에 저작권자의 이메일 주소를 제공하는 것이 가장 좋습니다.
저작권이 매우 분산되어 있거나 법인인 경우도 있습니다. 이런 경우에는 프로젝트 또는 법인 홈페이지의 URL을 제공하는 것이 더 합리적일 수 있습니다.
프로젝트에서 AUTHORS 또는 CONTRIBUTORS와 같은 파일에 저작권 보유자를 표시하는 경우 해당 파일을 가리키는 링크를 제공하는 것도 좋은 옵션입니다.
Public Domain은 무엇인가요?
일반적으로 Public Domain은 저작권 기간이 만료된 저작물이지만, 까다로운 개념이어서 주의가 필요합니다.
일부 관할권 (예: 미국, 영국)에서는 저작권 보유자가 자신의 저작권을 포기하고 저작물을 Public Domain으로 기부할 수 있지만, 대부분의 관할권(예: 대부분의 EU 회원국)에서는 이런 행위가 불가능합니다. 이는 관할권에 따라 저자가 자신의 저작물을 Public Domain으로 제공한다고 표시했다고 하더라도 이것이 실제로 유효하게 하기 위한 법적 기준을 충족할 수 없고, 결국 여전히 저작물에 대한 저작권을 저작권자만 보유하고 있음을 의미합니다.
따라서 저작권과 라이선스를 진지하게 다루는 오픈소스 컴플라이언스 담당자들은 “this is public domain"이라는 표시를 매우 경계합니다.
저작권자는 이런 문제를 다음 두 가지 방법으로 완화할 수 있습니다.
자신의 저작물에 대해 저작권을 포기하고 기부하고 싶을 때 “public domain"이라는 단어 대신, CC0-1.0과 같은 매우 허용적인 라이선스를 사용하세요.
“SPDX-FileCopyrightText:” 필드에 이름과 연락처 정보를 남기세요. 사용자가 저작권자의 의도를 궁금해하거나, 어떤 불분명한 사항이 있으면 연락을 취하여 문제를 해결할 수 있게 하세요.
Minified JavaScript에서는 저작권 표시를 어떻게 하죠?
최근의 Minifier는 주석을 제거하더라도 저작권 및 라이선스 정보는 보존하는 옵션을 제공합니다. 코드를 minify 할 때 이런 옵션을 사용하여 저작권과 라이선스 정보를 유지하세요.
소스 코드를 다른 언어나 컴파일러 및 다른 형태로 변환하더라도 모두 저작권 보유자에게 독점적 권리가 있습니다. 따라서, minify 한 코드를 사용할 때에도 유효한 라이선스가 필요합니다.
“All rights reserved” 표시에는 어떤 문제가 있나요?
종종 저작권 표시에 “All rights reserved"라는 문장을 본 적이 있을 겁니다. 저작권법은 이런 표현을 요구하지 않습니다. 아마 음악 CD나 책에서 사용하는 걸 보고 단순히 모방해서 사용하는 게 아닐까 생각합니다. 하지만, 오픈소스에서 이런 표현은 혼란을 야기시킵니다.
“All rights reserved"는 명백히 오픈소스 라이선스와 모순됩니다. 오픈소스 라이선스는 누구나 코드를 사용, 연구, 공유 및 개선할 수 있는 권리를 제공합니다. 반면에 “All rights reserved"는 이러한 모든 권리가 자신에게만 부여된다는 표현입니다.
“All right reserved"는 이와 같은 문제만 가져올 뿐, 어떤 이점도 가져오지 않기 때문에 오픈소스에서는 사용하지 말아야 합니다.
How to write a blog
How to blog
Anyone can write a blog.
The blog on the Open Source Portal at SK telecom website shares articles on open source.
Text can be bold, italic, or strikethrough. Links should be blue with no underlines (unless hovered over).
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
There should be no margin above this first sentence.
Blockquotes should be a lighter gray with a border along the left side in the secondary color.
There should be no margin below this final sentence.
First Header
This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito
occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat:
pignora hinc reppulit nos aut, aptos, ipsa.
Meae optatos passa est Epiros utiliter Talibus niveis, hoc lata, edidit.
Dixi ad aestum.
Header 2
This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Header 3
This is a code block following a header.
Header 4
This is an unordered list following a header.
This is an unordered list following a header.
This is an unordered list following a header.
Header 5
This is an ordered list following a header.
This is an ordered list following a header.
This is an ordered list following a header.
Header 6
What
Follows
A table
A header
A table
A header
A table
A header
There’s a horizontal rule above and below this.
Here is an unordered list:
Salt-n-Pepa
Bel Biv DeVoe
Kid ‘N Play
And an ordered list:
Michael Jackson
Michael Bolton
Michael Bublé
And an unordered task list:
Create a sample markdown document
Add task lists to it
Take a vacation
And a “mixed” task list:
Steal underpants
?
Profit!
And a nested list:
Jackson 5
Michael
Tito
Jackie
Marlon
Jermaine
TMNT
Leonardo
Michelangelo
Donatello
Raphael
Definition lists can be used with Markdown syntax. Definition terms are bold.
Name
Godzilla
Born
1952
Birthplace
Japan
Color
Green
Tables should have bold headings and alternating shaded rows.
Artist
Album
Year
Michael Jackson
Thriller
1982
Prince
Purple Rain
1984
Beastie Boys
License to Ill
1986
If a table is too wide, it should scroll horizontally.
Artist
Album
Year
Label
Awards
Songs
Michael Jackson
Thriller
1982
Epic Records
Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical
Wanna Be Startin’ Somethin’, Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life
Prince
Purple Rain
1984
Warner Brothers Records
Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal
Let’s Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I’m a Star, Purple Rain
Beastie Boys
License to Ill
1986
Mercury Records
noawardsbutthistablecelliswide
Rhymin & Stealin, The New Style, She’s Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill
Code snippets like var foo = "bar"; can be shown inline.
Also, this should vertically alignwith thisand this.
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
Inline code inside table cells should still be distinguishable.
Language
Code
Javascript
var foo = "bar";
Ruby
foo = "bar"{
Small images should be shown at their actual size.
Large images should always scale down and fit in the content container.
Components
Alerts
This is an alert.
Note:
This is an alert with a title.
This is a successful alert.
This is a warning!
Warning!
This is a warning with a title!
Sizing
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Parameters available
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Using pixels
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Using rem
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Memory
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
RAM to use
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
More is better
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
Used RAM
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
This is the final element on the page and there should be no margin below this.
Including images
Here’s an image (featured-sunset-get.png) that includes a byline and a caption.
Fetch and scale an image in the upcoming Hugo 0.43.
Photo: Riona MacNamara / CC-BY-CA
The front matter of this post specifies properties to be assigned to all image resources:
To include the image in a page, specify its details like this:
Fetch and scale an image in the upcoming Hugo 0.43.
Photo: Riona MacNamara / CC-BY-CA
The image will be rendered at the size and byline specified in the front matter.
News
SK Telecom is the first Telecommunications Operator to adopt OpenChain ISO 5230
By OpenChain |
SK Telecom, South Korea’s largest wireless carrier, is the first telecommunications operator to adopt OpenChain ISO 5230. This leap forward in governance builds on their long-term mission to lead in technological capabilities in 5G, AI, big data analysis, IoT and quantum cryptography communications as a global ICT leader.
SK telecom
“SK Telecom is preparing for its transition to an AI company, and is strategically using open source to develop advanced technologies in AI, 5G, and cloud technology”, says Kim Yoon, CTO, SK Telecom. “Open source, essential for the early introduction of new technologies and rapid technological change, forms a key part of our strategy. We adopted OpenChain ISO 5230, the International Standard for open source compliance, to ensure effective process management in this space. We are also spreading our know-how around complying with open source international standards to SK affiliates and software supply chains to drive further expansion of open source ecosystems and to deliver even greater social value.”
SRT Alliance Welcomes SKT to the SRT Open Source Video Streaming Project
SK Telecom becomes the first SRT Alliance member to apply SRT for enhanced 5G video streaming services
By Jesús (Suso) Carrillo |
Image credit: SRT Alliance
MONTREAL, CANADA – March 30, 2021 – The SRT Alliance, established by Haivision (TSX: HAI), a leading global provider of mission-critical, real-time video streaming and networking solutions, today announced that SK Telecom (hereinafter referred to as “SKT”), Korea’s largest wireless telecommunications operator, has joined the SRT Alliance to support and adopt the SRT open source protocol.
SRT (Secure Reliable Transport) is a free open source video transport protocol and technology stack originally developed and pioneered by Haivision that enables the delivery of high-quality and secure, low latency video across the public internet. With over 450 members in the SRT Alliance and widespread industry adoption, SRT is the fastest growing open source streaming project.
SKT has implemented SRT for the secure and reliable transport of real-time low latency video over 5G networks, a first for the SRT Alliance. It is also actively working with Haivision to establish SRT as the industry standard in the IETF. Through its 5G MEC-based security video system development project named Hwangsaeul, SKT has already achieved 4K streaming over 5G networks with SRT and is currently developing an intelligent bandwidth-aware streaming technology suitable for challenging network environments.
“We are delighted to join the SRT Alliance. We will utilize SRT to develop secure and reliable ultra-low latency real-time video streaming solutions so as to provide our customers with differentiated value and experience,” said Kim Jeong-seok, manager, Smart Space & Care Technology Development Team, SKT.
“SKT’s use of SRT over 5G networks is another big step forward for the Alliance and as an emerging standard for anyone delivering live video over public internet,” said Suso Carrillo, Director of the SRT Alliance for Haivision. “We are very proud to have SKT as a member of the SRT Alliance and be the first member to implement the open source SRT protocol for 5G network delivery.”
About the SRT Alliance
The SRT Alliance is a collaborative community of industry leaders and developers striving to achieve lower latency internet video transport by continuously improving SRT, an open source video transport protocol and technology stack. Originally developed and pioneered by Haivision, SRT optimizes streaming performance across unpredictable networks with secure streams and easy firewall traversal, bringing the best quality live video over the worst networks. Haivision was awarded an Emmy® for Technology and Engineering from the National Academy of Television Arts and Sciences for developing the SRT protocol. For more information about the project and how to join the SRT Alliance, visit srtalliance.org.