owncast
SHA-256자체 호스팅 라이브 스트리밍 서버로 라이브 스트리밍 콘텐츠와 시청자 데이터를 완벽하게 제어할 수 있습니다.
스마트 다운로드
Download 버전 다운로드
v0.2.5 · 18.3 MB
라이브 스트리밍 서버를 직접 구축하고 콘텐츠와 시청자를 완전히 통제하세요.
주요 기능
- 자체 호스팅, 데이터를 완전히 직접 제어
- OBS, Streamlabs 등 일반적으로 사용되는 스트리밍 소프트웨어와 호환(RTMP)
- 실시간 채팅 기능 내장
- 커스터마이징 가능한 웹 프론트엔드 및 인터페이스 테마
- 관리자 백엔드로 사용자와 콘텐츠를 손쉽게 관리
할 수 없는 것
- •외부에서 접근하려면 공인 IP 또는 내부망 터널링(frp 등)이 필요합니다,HTTPS를 활성화하려면 리버스 프록시(Nginx)를 구성하는 것이 좋습니다,라이브 화질과 지연 시간은 서버 대역폭과 인코딩 설정에 따라 달라집니다,현재 공식적으로 Windows 네이티브 실행을 지원하지 않으므로 WSL2 또는 Docker를 사용해야 합니다,단일 사용자 설계로 대규모 멀티 채널 라이브 스트리밍 사이트에는 적합하지 않습니다
사용 사례
- 개인 게임 또는 재능 라이브 방송, 플랫폼 광고와 수수료 공제의 방해를 받고 싶지 않은 경우
- 기업 내부 교육 또는 이벤트 라이브 방송, 데이터 보안 보장
- 커뮤니티 또는 클럽 내부 라이브 방송, 시청자를 세밀하게 관리 및 통제
- Twitch/YouTube Live 대체, 콘텐츠 주권과 자유 추구
상세 설명
Owncast는 오픈 소스, 자체 호스팅, 탈중앙화 라이브 비디오 스트리밍 및 채팅 서버입니다. Twitch나 YouTube Live처럼 자신만의 라이브 방송을 운영할 수 있으면서도 콘텐츠, 인터페이스, 관리, 시청자를 완전히 제어할 수 있습니다. OBS, Streamlabs 같은 기존 스트리밍 소프트웨어를 사용해 RTMP 프로토콜로 방송을 송출할 수 있습니다. 내장 채팅 시스템, 커스터마이징 가능한 프론트엔드, 관리자 제어 기능을 제공합니다. 개인이나 소규모 커뮤니티에 적합하며, 대형 플랫폼의 제약에서 벗어날 수 있습니다.
문제 해결 & FAQ (2)
문제 해결Owncast v0.2.5에서 파비콘을 업로드하거나 재설정할 때 발생하는 'JSON.parse: unexpected character at line 1 column 1 of the JSON data' 오류와 반복적인 관리자 로그인 프롬프트 문제를 해결하는 방법
이것은 favicon 업로드 및 리셋 기능 모두에 영향을 미치는 Owncast v0.2.5의 알려진 내장 버그입니다. 백엔드가 이러한 엔드포인트에 대해 401 Unauthorized 비-JSON 응답을 잘못 반환하여 프론트엔드 JSON 파싱 오류를 유발하고, 유효한 로그인 정보를 입력하더라도 관리자 자격 증명 프롬프트가 반복적으로 표시됩니다. 이 수정 사항은 pull request #4879에 병합되었으며, 이 문제를 해결하려면 v0.2.5보다 최신 공식 Owncast 릴리스로 업그레이드하세요.
문제 해결How to fix Owncast viewer or embed showing "Application error: a client-side exception" when localStorage is null or blocked?
This affects Owncast 0.3.0+ with next-export-i18n up to 2.4.3. Its useSelectedLanguage() reads window.localStorage.getItem("next-export-i18n-lang") without a guard, even when languageDataStore: 'query' is configured. A null localStorage in Android WebView or a SecurityError in a third-party iframe therefore crashes the React tree.
Android WebView workaround:
webView.settings.domStorageEnabled = trueJava:
webView.getSettings().setDomStorageEnabled(true);
Permanent Owncast fix: install an in-memory Storage shim before React renders, such as at the top of pages/_app.tsx or in a module imported first:
if (typeof window !== 'undefined') {
const createMemoryStorage = (): Storage => {
let data: Record<string, string> = {};
return {
getItem: key =>
Object.prototype.hasOwnProperty.call(data, key) ? data[key] : null,
setItem: (key, value) => {
data[key] = String(value);
},
removeItem: key => {
delete data[key];
},
clear: () => {
data = {};
},
key: index => Object.keys(data)[index] ?? null,
get length() {
return Object.keys(data).length;
},
};
};
try {
if (!window.localStorage) throw new Error('localStorage is unavailable');
window.localStorage.getItem('__owncast_storage_test__');
} catch {
Object.defineProperty(window, 'localStorage', {
configurable: true,
value: createMemoryStorage(),
});
}
}The viewer and
/embed/video then render normally; stored values simply do not persist across reloads in restricted environments. Alternatively, use patch-package to guard the library's getItem call, but that patch must be reapplied after dependency updates. Setting only languageDataStore: 'query' does not fix the crash.태그
시작하기
소프트웨어 설치
배포판에 맞는 패키지를 설치 (dpkg / rpm / AppImage)
1단계: 공식 웹사이트 또는 GitHub에서 Owncast 바이너리 파일을 다운로드하거나 Docker 이미지를 가져옵니다(docker run owncast/owncast)
2단계: 프로그램을 실행하면 기본적으로 8080 포트에서 수신 대기하며, 브라우저를 열고 http://당신의IP:8080 에 접속하여 인터페이스로 들어갑니다
3단계: OBS 등의 소프트웨어에서 스트리밍 서버를 rtmp://당신의IP/live 로 설정하고, 스트림 키는 임의로 입력합니다(또는 관리자 페이지에서 설정)
- 1단계: 공식 웹사이트 또는 GitHub에서 Owncast 바이너리 파일을 다운로드하거나 Docker 이미지를 가져옵니다(docker run owncast/owncast)
- 2단계: 프로그램을 실행하면 기본적으로 8080 포트에서 수신 대기하며, 브라우저를 열고 http://당신의IP:8080 에 접속하여 인터페이스로 들어갑니다
- 3단계: OBS 등의 소프트웨어에서 스트리밍 서버를 rtmp://당신의IP/live 로 설정하고, 스트림 키는 임의로 입력합니다(또는 관리자 페이지에서 설정)
SHA-256 체크섬 확인됨
GitHub 공식 Release 페이지에서 추출된 체크섬
SHA256 체크섬
bfef49e719ad9316554855df44a9ac21aec5f2a74de79eef15b6947cb383c2bb이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
다운로드한 Owncast 파일을 삭제하거나 Docker 컨테이너를 중지하면 됩니다. 데이터를 지우려면 프로그램 디렉터리 아래의 data 폴더를 삭제하십시오.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.
문제 발생? 아래 FAQ 확인
2 FAQs