영상을 funscript로 변환하기
AutoScript Sync로 영상을 funscript로 만들려면 영상을 열고 Generate를 누르세요. 앱은 여러분의 PC에서 프레임을 샘플링하고, 화면에서 움직이는 부분의 움직임을 측정해 방향이 바뀔 때마다 0에서 100 사이의 위치로 바꾼 뒤, 같은 폴더에 <video name>.funscript를 저장합니다. 영상은 절대 업로드되지 않습니다.
2026년 9월 21일에 앱의 코드와 대조해 확인했습니다. 현재 릴리스인 버전 2.121.1 기준입니다.
열 수 있는 영상 파일
Open Video 대화 상자에는 MP4, MKV, AVI, MOV, WMV가 표시되며 All Files 옵션도 있습니다. 드래그 앤 드롭, Batch Generate Folder, Play Folder as Playlist는 WebM과 M4V도 받습니다.
정해진 코덱 목록은 없습니다. 분석에서는 OpenCV에 내장된 FFmpeg로 디코딩하는데, 먼저 하드웨어 디코딩(그래픽 드라이버가 제공하는 가속기)을 요청하고, 코덱, 드라이버 또는 첫 프레임이 협조하지 않으면 소프트웨어 디코딩으로 전환합니다. 재생에는 자체 창에 내장된 VLC를 사용합니다. 따라서 그 FFmpeg와 설치된 VLC가 읽을 수 있는 파일이면 재생과 변환이 가능합니다. 코덱 목록은 테스트하거나 공개하지 않았습니다.
VR 영상도 작동합니다. 분석 전에 앱이 좌우 또는 상하 배치와 어안(fisheye) 또는 등장방형(equirectangular) 투영을 감지하고, 한쪽 눈의 중앙 화면을 일반 평면 이미지로 펼칩니다. 이 감지는 몇 개의 샘플 프레임에 기반한 휴리스틱입니다.
영상에 일어나는 일, 단계별로
아래 모든 과정은 여러분의 PC에서 실행됩니다. 분석 코드에는 네트워크 호출이 없으며, 영상, 프레임, 썸네일 어느 것도 인터넷으로 전송되지 않습니다.
- 디코딩과 샘플링. Accuracy가 분석할 프레임을 정합니다: Fast는 4프레임마다, Balanced(기본값)는 3프레임마다, High는 2프레임마다 1개. 샘플링된 각 프레임은 원본 해상도와 관계없이 폭 320 px로 축소됩니다. 작업 스레드가 미리 디코딩하므로 디코딩과 분석이 겹쳐서 진행됩니다.
- 움직이는 영역 찾기. 직접 지정하지 않았다면 엔진이 움직임이 계속 일어나는 곳의 히트맵을 만들고, 가장 뜨거운 영역을 골라 15% 여유를 둡니다. 장면 전환은 프레임 사이의 급격한 변화로 찾아냅니다.
- 움직임 측정. DIS 옵티컬 플로우가 영역 안의 움직임을 측정합니다. 자세 모델과 깊이 모델이 설치되어 있으면 신체 키포인트와 카메라 쪽으로 다가오거나 멀어지는 정도의 측정값이 위치 신호 후보로 추가됩니다. 백그라운드에서는 영상 자체의 모션 벡터와 사운드트랙의 음량 포락선도 각각 시간 제한 안에서 읽어 들이므로, 긴 영상에서는 일부만 다룰 수 있습니다.
- 위치 궤적 만들기. 측정된 움직임을 시간에 따른 위치로 적분하고, 해당 영상에서 가장 높은 점수를 받은 위치 신호로 만든 기준점과 융합합니다. 트래킹이 끊긴 곳은 주변 스트로크의 리듬으로 이어지는 움직임으로 채우며, 오디오 비트가 있으면 그 박자에 맞춥니다. 두 번째 패스에서 표시된 구간 몇 개(최대 4개)를 전체 프레임 레이트로 다시 읽을 수 있습니다.
- 포인트 배치. 2초 구간마다 움직임 유형으로 라벨을 붙이고, 스트로크 크기는 선택한 강도 곡선(기본값은 Smoothed)을 통해 화면이 움직이는 속도를 따릅니다. 포인트는 방향이 바뀔 때마다 배치되므로 고정된 포인트 빈도는 없습니다.
- 저장. 스크립트는 영상 옆에 작성됩니다(다음 섹션).
각 단계를 담당하는 AI 모델에서 플로우, 자세, 깊이 부분을 더 자세히 설명합니다.
잘 변환되는 영상과 그렇지 않은 영상
엔진은 측정한 움직임을 바탕으로 작동하므로, 스크립트로 만들려는 움직임이 화면에서 주로 움직이는 대상이고 계속 보일 때 가장 잘 작동합니다.
잘 변환되는 경우
- 화면의 한 영역에서 분명하게 반복되는 하나의 움직임. 모션 히트맵이 골라내는 것이 바로 이것입니다.
- 일정한 리듬. 빈틈 채우기와 리듬 정리는 주변 스트로크에 의존하므로, 규칙적인 움직임은 짧은 끊김에도 유지됩니다.
- 느리거나 보통 속도. 느린 장면에서는 스트로크 크기가 수작업 스크립트와 비슷하게 나옵니다.
잘 변환되지 않는 경우와 대처법
- 다른 것이 더 많이 움직입니다. 영역 탐지기는 가장 강한 움직임을 따라가며, 그것이 원하는 부분이 아닐 수 있습니다. Set Motion Region…으로 영역을 직접 그리거나, Live Track으로 영상이 재생되는 동안 상자를 움직이세요. 트랙은 영상 옆에
.roitrack.json파일로 저장됩니다. - 동작이 가려져 있습니다. 트래킹이 끊기면 빈틈은 측정이 아닌 리듬으로 채워집니다. 채워진 비율은 기록되며, 비율이 높아지면 품질 보고서가 경고합니다.
- 매우 빠른 움직임. 빠른 장면에서는 스트로크가 너무 작게 나오며, 샘플링 빈도가 낮을수록 더 그렇습니다. High를 시도하거나 타임라인에서 해당 구간을 Amplify하세요.
- 동작이 없는 긴 구간. 동작 바깥의 인트로와 크레딧은 정지 상태로 유지되지만, 동작 구간 안에서는 사람이라면 스크립트를 멈춰 둘 곳에서도 엔진이 스트로크를 계속 만드는 경우가 많습니다. 타임라인에서 해당 포인트를 삭제하세요.
- 거의 정지된 영상. 실제 움직임이 보이는 샘플이 5% 미만이면 앱은 스크립트 생성을 거부하고 영상이 정지된 것처럼 보인다고 알려 줍니다.
.funscript가 작성되는 위치
<video name>.funscript- Generate 후, 그리고 Batch Generate Folder에서는 파일마다 영상 폴더에 자동으로 저장됩니다. 다음에 영상을 열면 앱이 자동으로 불러옵니다.
<video name>.funscript.bak- Generate 시 같은 이름의 기존 스크립트가 있으면 먼저 여기로 복사됩니다. 백업은 하나만 유지되며, 다음 Generate가 이를 교체합니다.
<video name>_as_played.funscript- File → Export Script (as played)를 선택한 경우에만: 다른 플레이어를 위해 스트로크 설정이 반영된 파일입니다.
%USERPROFILE%\.autoscript_sync\logs\gen_*.json- Generate 또는 Batch 파일마다 작성되는 진단 보고서로, 최근 40개가 보관됩니다. 영상의 파일 이름은 기록하지만, 폴더나 내용은 절대 기록하지 않습니다.
Generate + Play (instant)는 스크립트를 저장하지 않습니다. 만든 결과를 보관하려면 File → Save Funscript As…를 사용하세요. 변환을 실행하는 세 가지 방법은 funscript 생성기 개요에서 다룹니다.
결과 확인 방법
- 재생합니다. 기기를 연결하거나 연결하지 않은 채로, 앱의 플레이어에서 스크립트와 함께 영상을 보세요.
- 타임라인을 살펴봅니다. 움직임이 있어야 할 곳의 평평한 구간, 움직임이 없는 구간의 스트로크, 스트로크가 너무 얕아 보이는 구간을 찾으세요. 의심스러운 구간을 선택해 전체 프레임 레이트로 Re-analyze하세요.
- 품질 보고서를 엽니다. Help → Last Generation Quality…는 측정된 부분과 채워진 부분의 비율, 트래킹 드리프트와 복구를 각각의 조치 방법과 함께 보여 줍니다. 경고가 있을 때만 저절로 열립니다.
- 파일을 확인합니다. funscript 검사기가 브라우저에서 JSON, 타임스탬프, 위치, 속도를 검사합니다.
- 실행 결과를 차트로 봅니다. Report Studio는 스크립트를
gen_*.json보고서와 함께 열어 스트로크 빈도, 속도, AI가 인식한 내용을 그래프로 보여 줍니다. Export Diagnostics로 만든.zip은 열 수 없으므로 먼저 압축을 푸세요.
변환이 잘못되었을 때
- 스크립트가 엉뚱한 움직임을 따라갑니다: Set Motion Region… 또는 Live Track으로 영역을 직접 지정한 뒤 다시 Generate하세요. 새 영역을 지정하면 영상 전체를 다시 분석하므로, 첫 실행과 비슷한 시간이 걸린다고 예상하세요.
- 생성이 매우 느립니다: AI가 CPU에서 실행되고 있을 수 있습니다. Check GPU를 눌러 분석이 실제로 그래픽카드에서 실행되는지 확인하세요.
- 파일이 열리지 않거나 재생되지 않습니다: 다른 컨테이너를 시도하거나 다시 인코딩하세요. 디코딩은 OpenCV의 FFmpeg에, 재생은 VLC에 달려 있습니다.
- 기기가 늦게 느껴집니다: Offset을 높이세요(−5000 to +5000 ms, 50 ms 단위, 영상별로 기억됨). 그 밖의 재생 문제는 funscript 문제 해결에서 다룹니다.
질문
4K 영상은 1080p 영상보다 오래 걸리나요?
분석 자체는 원본 해상도와 관계없이 샘플링된 각 프레임의 폭 320 px 사본에서 실행되므로(High는 트래킹 영역에 640 px 모션 패스를 하나 추가합니다), 프레임당 AI 작업량은 거의 변하지 않습니다. 다만 큰 파일을 디코딩하는 데는 여전히 더 오래 걸리며, 해상도별 소요 시간은 공개하지 않았습니다.
변환에 인터넷 연결이 필요한가요?
아니요. 분석은 오프라인으로 실행됩니다. 인터넷은 그 주변의 일에 사용됩니다: 라이선스 활성화, 업데이트 확인, 모델 다운로드, 그리고 Autoblow AI Ultra의 클라우드.
폴더 전체를 변환할 수 있나요?
네, File → Batch Generate Folder로 가능합니다. 이미 스크립트가 있는 영상은 건너뛰며, 하위 폴더는 살펴보지 않습니다.
모든 프레임이 분석되나요?
아니요. High도 2프레임마다 1개를 분석합니다. 타임라인에서 선택한 구간은 전체 프레임 레이트로 Re-analyze할 수 있습니다.
다음 읽을거리
- funscript 만드는 방법수작업, AI, 또는 둘 다: 각 방법이 어디에 적합한지.
- Windows에 설치하기GPU와 CPU, 설치 프로그램이 설치하는 것, 데이터가 저장되는 위치.
- 엔진 속 옵티컬 플로우DIS 플로우가 트래킹 영역 안의 움직임을 측정하는 방법.
- PC에 남는 것앱이 만드는 모든 네트워크 연결과 각 연결이 보내는 내용.
여러분의 영상 하나를 변환해 보세요
무료 체험판은 여러분의 PC에서 하루 동안 전체 앱을 실행합니다. 라이선스는 £14.99 한 번 결제입니다.