|
Codemaru 1.0.0.0
QR 코드, 모바일 랜딩 페이지, vCard 연락처 저장과 명함 디자인을 한 화면에서 제공하는 디지털 명함 서비스입니다.
|


Public 멤버 함수 | |
| FfmpegHlsService (ILogger< FfmpegHlsService > log, IOptions< FfmpegOptions > opt, IOptions< List< StreamConfig > > streams, IWebHostEnvironment env) | |
| override Task | StopAsync (CancellationToken cancellationToken) |
Protected 멤버 함수 | |
| override async Task | ExecuteAsync (CancellationToken ct) |
Private 멤버 함수 | |
| string | GetOutputRoot () |
| string string segFmt | GetOutputPaths (StreamConfig s) |
| void | SafeRestart (StreamConfig s) |
| void | TryStartOne (StreamConfig s) |
| void | InitWatchStats (StreamConfig s) |
| long DateTime lastWrite | ReadSeqAndTime (string m3u8Path) |
Private 속성 | |
| readonly ILogger< FfmpegHlsService > | _log |
| readonly FfmpegOptions | _opt |
| readonly IReadOnlyList< StreamConfig > | _streams |
| readonly IWebHostEnvironment | _env |
| readonly Dictionary< string, Process > | _procs = new() |
| readonly Dictionary< string, long > | _lastSeq = new() |
| readonly Dictionary< string, DateTime > | _lastWrite = new() |
| string | m3u8Path |
| long | seq |
정적 Private 속성 | |
| static readonly Regex | MediaSeqRegex = new(@"#EXT-X-MEDIA-SEQUENCE:(\d+)", RegexOptions.Compiled) |
ffmpeg 프로세스를 관리하는 HostedService(워치독 포함).
FfmpegHlsService.cs 파일의 31 번째 라인에서 정의되었습니다.
|
inline |
생성자.
| log | log에 사용할 ILogger<FfmpegHlsService> 값입니다. |
| opt | opt에 사용할 IOptions<FfmpegOptions> 값입니다. |
| streams | streams에 사용할 IOptions<List<StreamConfig>> 값입니다. |
| env | env에 사용할 IWebHostEnvironment 값입니다. |
FfmpegHlsService.cs 파일의 151 번째 라인에서 정의되었습니다.
|
inlineprotected |
서비스 시작 시 각 스트림 ffmpeg 실행 + 워치독 루프 가동.
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.FfmpegHlsService.cs 파일의 187 번째 라인에서 정의되었습니다.
다음을 참조함 : _lastSeq, _lastWrite, _log, _opt, _procs, _streams, GetOutputPaths(), GetOutputRoot(), InitWatchStats(), m3u8Path, ReadSeqAndTime(), SafeRestart(), seq, TryStartOne().

|
inlineprivate |
FfmpegHlsService.cs 파일의 341 번째 라인에서 정의되었습니다.
다음을 참조함 : GetOutputRoot(), m3u8Path, Codemaru.Models.StreamConfig.Name.
다음에 의해서 참조됨 : ExecuteAsync(), TryStartOne().


|
inlineprivate |
HLS 출력 루트의 절대경로를 반환합니다.
string 결과입니다.FfmpegHlsService.cs 파일의 309 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), GetOutputPaths().

|
inlineprivate |
워치독 초기 통계값을 리셋합니다.
| s | 이벤트를 발생시킨 객체입니다. |
FfmpegHlsService.cs 파일의 502 번째 라인에서 정의되었습니다.
다음을 참조함 : _lastSeq, _lastWrite, Codemaru.Models.StreamConfig.Name.
다음에 의해서 참조됨 : ExecuteAsync().

|
inlineprivate |
FfmpegHlsService.cs 파일의 532 번째 라인에서 정의되었습니다.
다음을 참조함 : _log, m3u8Path, MediaSeqRegex, seq.
다음에 의해서 참조됨 : ExecuteAsync().

|
inlineprivate |
한 개 스트림 ffmpeg 시작(이미 있으면 종료 후 재시작).
| s | 이벤트를 발생시킨 객체입니다. |
FfmpegHlsService.cs 파일의 369 번째 라인에서 정의되었습니다.
다음을 참조함 : _procs, Codemaru.Models.StreamConfig.Name, TryStartOne().
다음에 의해서 참조됨 : ExecuteAsync().


|
inline |
서비스 중지 시 모든 ffmpeg 종료.
| cancellationToken | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.FfmpegHlsService.cs 파일의 275 번째 라인에서 정의되었습니다.
다음을 참조함 : _procs.
|
inlineprivate |
ffmpeg 시작 시도(성공 시 딕셔너리 등록).
| s | 이벤트를 발생시킨 객체입니다. |
FfmpegHlsService.cs 파일의 402 번째 라인에서 정의되었습니다.
다음을 참조함 : _log, _opt, _procs, GetOutputPaths(), m3u8Path, Codemaru.Models.StreamConfig.Name.
다음에 의해서 참조됨 : ExecuteAsync(), SafeRestart().


|
private |
env 값을 보관합니다.
FfmpegHlsService.cs 파일의 68 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : FfmpegHlsService(), GetOutputRoot().
|
private |
last Seq 값을 보관합니다.
FfmpegHlsService.cs 파일의 90 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), InitWatchStats().
|
private |
last Write 값을 보관합니다.
FfmpegHlsService.cs 파일의 99 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), InitWatchStats().
|
private |
log 값을 보관합니다.
FfmpegHlsService.cs 파일의 41 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), FfmpegHlsService(), ReadSeqAndTime(), TryStartOne().
|
private |
opt 값을 보관합니다.
FfmpegHlsService.cs 파일의 50 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), FfmpegHlsService(), GetOutputRoot(), TryStartOne().
|
private |
procs 값을 보관합니다.
FfmpegHlsService.cs 파일의 79 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), SafeRestart(), StopAsync(), TryStartOne().
|
private |
streams 값을 보관합니다.
FfmpegHlsService.cs 파일의 59 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), FfmpegHlsService().
|
private |
스트림별 m3u8/세그먼트 경로를 반환합니다.
| s | 이벤트를 발생시킨 객체입니다. |
(string m3u8Path, string segFmt) 결과입니다.FfmpegHlsService.cs 파일의 341 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), GetOutputPaths(), ReadSeqAndTime(), TryStartOne().
|
staticprivate |
Media Seq Regex 값을 보관합니다.
FfmpegHlsService.cs 파일의 109 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReadSeqAndTime().
|
private |
m3u8에서 MEDIA-SEQUENCE와 파일 수정시각을 읽습니다.
| m3u8Path | m3u8 Path에 사용할 string 값입니다. |
(long seq, DateTime lastWrite) 결과입니다.FfmpegHlsService.cs 파일의 532 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ExecuteAsync(), ReadSeqAndTime().