강의 비디오 파이프라인
사용자가 요청한 출력 형태를 유지하면서 강의 녹화물을 처음부터 끝까지 처리합니다. 사용자가 명시적으로 병합된 강의 비디오를 요청하지 않는 한 독립적인 클립을 선호합니다. 로컬 소스나 기존 원격 출력물을 삭제할 권한을 추론하지 마십시오.
처리 전
- 사용자의 소스 및 대상 경로를 정확히 읽습니다. '全部文件'과 같은 선행 레이블은 원격 경로에 존재하지 않는 한 UI 텍스트로 처리합니다.
- 다운로드 전에 원격 파일 이름, 크기, 포맷 및 기존 출력을 검사합니다.
- 로컬 여유 공간, 사용 가능한 GPU, FFmpeg 코덱, WhisperX 환경 및 BaiduPCS-Go 로그인을 확인합니다.
- 파일 이름, 자막 텍스트 및 비디오 구조를 샘플링한 후 강의 어댑터를 선택합니다. 알려진 스타일과 익숙하지 않은 스타일을 감지하려면
references/course-adapters.md를 참조하십시오. - 출력 모드를 확인합니다: 개별 클립, 병합 클립 또는 둘 다. 지정되지 않은 경우 기본값은 개별 클립입니다.
파이프라인
- 모든 소스 비디오를 자연스러운 순서를 변경하지 않고 다운로드하고 검증합니다.
- 소스 파일을 독립적으로 전사합니다. 유효한 자막 및 클립 계획을 재사용하여 GPU 작업을 반복하지 않습니다.
- 결정적 클립 또는 유닛 매니페스트를 작성합니다. 마커가 모호한 경우 후보 경계를 검토합니다.
- 클립을 렌더링하고 클립당 하나의 SRT를 생성합니다. 요청된 경우에만 병합된 비디오와 결합된 SRT를 생성합니다.
- 레이블, 출력 파일 이름, 소스 파일 이름, 소스 타임스탬프, 지속 시간 및 모든 적응 노트를 포함하는 마크다운 매니페스트를 생성합니다.
- 업로드 전에 출력 검증기를 실행합니다.
- 사용자의 정확한 원격 디렉토리에 업로드하고 원격 개수와 파일 이름을 확인합니다.
- 검증 후에만 정리하며, 사용자의 삭제 승인 범위 내에서만 수행합니다.
필수 출력 계약
선택된 각 클립 또는 유지된 지식 단위에 대해 다음을 제공합니다:
- 요청된 단위가 메타데이터 전용이 아닌 경우 하나의 MP4.
- 일치하는 기본 이름을 가진 타임스탬프 재설정 SRT 하나.
- 강의 또는 장(chapter) 마크다운 목록의 한 행.
- 안정적인 순차 접두사와 원본 예제 또는 단위 ID.
병합 모드의 경우, 개별 정규화된 클립을 로컬에 유지하고 하나의 병합된 MP4와 하나의 타임라인 조정 결합 SRT를 추가합니다. 사용자가 덮어쓰거나 제거하도록 요청하지 않는 한 기존 병합 또는 비병합 버전을 교체하지 마십시오.
실행 참고 사항
- 각 출력 클립의 타임스탬프가 0으로 재설정되도록 소스별 자막을 사용합니다.
- 지원되는 경우 h264_nvenc를 사용한 정확한 FFmpeg 트리밍을 선호합니다. libx264로 폴백하여 정확한 경계를 조용히 건너뛰지 마십시오.
- 마크다운에서 강의 표현을 유지합니다. 파일 이름과 관리 레이블만 정규화합니다.
- 누락된 소스, 잘못된 타임스탬프, 0바이트 미디어 또는 설명되지 않은 개수 불일치 시 중단합니다. 실패한 파일만 재시도합니다.
- 대규모 배치의 경우 다운로드, 전사, 렌더링 및 업로드 단계 후 구체적인 진행 상황을 보고합니다.
전체 파이프라인을 실행하기 전에 references/workflow.md를 읽으십시오. 분할 정책을 선택할 때 references/course-adapters.md를 읽으십시오. 매니페스트, 마크다운 목록, 업로드, 검증 또는 정리를 구성할 때 references/manifest-upload.md를 읽으십시오.