simreel은(는) 무엇을 하나요?
사용자의 실제 앱을 iOS 시뮬레이터에서 녹화하여 두 개의 파일로 자릅니다:
reel-1080x1920.mp4: 그라데이션 배경 위에 휴대폰 본체 안에 담긴 녹화 영상, 장면별 캡션, 엔드 카드 포함. X, Reels, TikTok, Product Hunt 용도.appstore-preview-886x1920.mp4: 일반 녹화 영상, App Store Connect에 맞게 크기 및 인코딩.
모든 작업은 Xcode와 ffmpeg를 사용하여 로컬에서 실행됩니다. 계정이나 유료 API가 필요하지 않습니다.
규칙
- 앱이 실제로 하는 일만 보여줍니다. 캡션은 화면에 보이는 내용을 설명하며, 영상에 보이지 않는 주장, 숫자 또는 리뷰를 추가하지 않습니다.
- 프레임 밖의 개인 데이터를 배제합니다. 새로운 시뮬레이터나 데모 데이터를 사용하고, 전달하기 전에 프레임을 확인합니다.
- 지시받은 시뮬레이터만 조작합니다. 부팅된 다른 시뮬레이터는 다른 사람의 작업에 속할 수 있으므로, 둘 이상 실행 중일 때는
booted를 절대 사용하지 않습니다. - 사용자가 달리 말하지 않는 한 녹화 중 추적 및 쿠키 프롬프트를 거부합니다.
단계
- 시뮬레이터 찾기.
xcrun simctl list devices booted. 앱이 설치되어 있지 않으면 사용자 자신의 도구를 사용하여 빌드 및 설치합니다. - 녹화 없이 앱 한 번 살펴보기. 주요 기능을 보여주는 3~5개의 순간을 선택합니다. 지금 온보딩, 권한 및 쿠키 대화상자를 제거하여 녹화에 포함되지 않도록 합니다.
- 한 번 녹화합니다.
유지하려는 각 화면에서 약 1초간 멈춥니다. 시뮬레이터 부팅 직후 탭이 실패하면 20초 기다렸다가 재시도합니다.scripts/record.sh start work/raw.mp4 <UDID> # 앱 구동: 시뮬레이터 도구, 프로젝트 내 XCUITest 또는 사용자에게 터치 안내 scripts/record.sh stop <UDID> - 녹화본 확인. 파일은 마지막 화면 변경 시점에서 끝나므로, 정적인 최종 화면은 잘리고 변화가 없는 화면은 거의 비어 있습니다. 장면을 메모리가 아닌 파일에서 시간을 측정합니다.
python3 scripts/compose.py frames work/raw.mp4 workwork/contact-sheet.png열기: 행당 8타일, 타일 N은 N초입니다. storyboard.json작성.{ "app_name": "MyApp", "background": ["#0B1020", "#3B2AA8"], "scenes": [ {"start": 0.3, "end": 5.8, "caption": "이 화면이 하는 일"}, {"start": 8.0, "end": 10.0, "speed": 0.8, "caption": "다음 단계"} ], "end_card": {"title": "MyApp", "subtitle": "앱 자체 태그라인"} }start/end는 녹화 시간(초)입니다.speed가 1 미만이면 느려지고, 1 이상이면 빨라집니다.hold는 해당 장면의 마지막 프레임을 지정된 초만큼 정지시켜 결과 화면에 머무르게 합니다.background는 단색 또는 위에서 아래로의 그라데이션을 받습니다.text_color와caption_size는 선택 사항입니다.end_card를 생략하면 마지막 장면에서 끝납니다. 로딩 스피너는 제거합니다. 장면의 총 길이는 15~30초여야 하며, 그렇지 않으면 App Store Connect가 프리뷰를 거부합니다.- 렌더링.
python3 scripts/compose.py render work/raw.mp4 storyboard.json outout/report.json을 출력하고 프리뷰 길이가 범위를 벗어나면 경고합니다. - 전달 전 확인. 각 장면에서 프레임을 추출하여 (
ffmpeg -ss <t> -i out/reel-1080x1920.mp4 -frames:v 1 f.png) 캡션이 화면과 일치하는지, 개인 정보가 없는지, 잘리지 않았는지 확인합니다.
참고
- 요구 사항: macOS, Xcode (
simctl및swift용), ffmpeg, python3. record.sh는 상태 표시줄을 9:41, 배터리 및 신호 최대로 설정합니다. 이후xcrun simctl status_bar <UDID> clear로 초기화합니다.- 여기서 사용된 앱 스토어 프리뷰 수치(886x1920, 15~30초, 30fps, H.264 High 4.0, 스테레오 AAC)는 Apple의 앱 프리뷰 사양에서 가져왔습니다. 업로드가 거부되면 해당 페이지를 확인하세요.
- 오디오 트랙은 무음입니다. 사운드가 필요하면 편집기에서 음악이나 음성을 추가하세요.