내 더빙의 결함은 어디에 있습니까?

내 더빙의 결함은 어디에 있습니까?

나만의 영화 더빙을 만들고 싶습니다.

Adobe Premiere Pro와 어떤 프레임이 동일한지 확인합니다. UNCUT 영화에는 Premiere에 133799개의 프레임이 있지만 컨테이너에는 133800이 표시됩니다. 따라서 ffmpeg 명령(+1)에 대해 하나의 프레임을 추가합니다. 이제 삽입/교체하려는 장면은 다음과 같습니다(UNCUT-movie로 시작).

first/last identical Frame
UNCUT (+1)
CUT (0)


UNCUT (23.976)
ffprobe -show_entries stream=codec_type,start_time -v 0 -of compact=p=1:nk=0 THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv
Start (Audio): 0.000
Start (Video): 0.000
ffprobe -show_packets THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv > stop_uncut.txt
Stop (Audio): 5580.703 (133803.0689)
Stop (Video): 5580.574 (133800)

CUT (25)
ffprobe -show_entries stream=codec_type,start_time -v 0 -of compact=p=1:nk=0 MILLENIUM_D1_VERBLENDUNG.Title0.mkv
Start (Audio): 0.000
Start (Video): 0.000
ffprobe -show_packets MILLENIUM_D1_VERBLENDUNG.Title0.mkv > stop_cut.txt
Stop (Audio): 5264.990 (131624.75)
Stop (Video): 5264.080 (131602)


1. Replace (UNCUT/CUT) - first identical Frame
25 (same frame like frame 52 in CUT)
52 (same frame like frame 25 in UNCUT)
0-24 (Frames I want to extract for UNCUT)
v0-25 (Video Frame I have to extract for UNCUT)
a0-26 (Audio "Frames" I have to extract UNCUT)
0-51 (Frames I want to extract for CUT)
v0-51 (Video Frame I have to extract for CUT)
a0-52 (Audio "Frames" I have to extract CUT)

2. Insert (UNCUT) - last identical Frame
2927
2954
2928-5177
v2929-5178
a2929-5179

3. Replace (UNCUT/CUT) - last identical Frame
133026
130803
133027-133799
v133028-133800
a133028-133803.0689
130804-131602
v130804-131602
a130804-131624.75

내 ffmpeg 구문은 다음과 같습니다.

mkvmerge -i MILLENIUM_D1_VERBLENDUNG.Title0.mkv
mkvextract MILLENIUM_D1_VERBLENDUNG.Title0.mkv tracks 0:video_cut.264
mkvmerge -i THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv
mkvextract THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv tracks 0:video_uncut.264

ffmpeg.exe -i MILLENIUM_D1_VERBLENDUNG.Title0.mkv -map 0:1 -c:a flac -sample_fmt:a s16 audio_cut.flac
ffmpeg.exe -i THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv -map 0:2 -c:a flac -sample_fmt:a s16 audio_uncut.flac

atempo = (24000/1001)/25
ffmpeg.exe -i audio_cut.flac -filter:a "atempo=0.959040959" audio_cut_23976fps_atempo.flac


Part 1:
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -t (52/(24000/1001)) -codec flac audio_cut_1.flac
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -t 2.168833333 -codec flac audio_cut_1.flac

Rest 1:
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss (52/(24000/1001)) -to (131624.75/(24000/1001)) -codec flac audio_cut_R1.flac
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss 2.168833333 -to 5489.848948 -codec flac audio_cut_R1.flac


Part 2:
ffmpeg.exe -i audio_cut_R1.flac -t ((2954-52)/(24000/1001)) -codec flac audio_cut_2.flac
ffmpeg.exe -i audio_cut_R1.flac -t 121.0375833 -codec flac audio_cut_2.flac

Rest 2:
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss (((2954-52)+52)/(24000/1001)) -to (131624.75/(24000/1001)) -codec flac audio_cut_R2.flac
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss 123.2064167 -to 5489.848948 -codec flac audio_cut_R2.flac


Part 3:
ffmpeg.exe -i audio_cut_R2.flac -t ((130803-(2954-52)-52)/(24000/1001)) -codec flac audio_cut_3.flac
ffmpeg.exe -i audio_cut_R2.flac -t 5332.368708 -codec flac audio_cut_3.flac

Rest 3:
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss (((130803-(2954-52)-52)+(2954-52)+52)/(24000/1001)) -to (131624.75/(24000/1001)) -codec flac audio_cut_R3.flac
ffmpeg.exe -i audio_cut_23976fps_atempo.flac -ss 5455.575125 -to 5489.848948 -codec flac audio_cut_R3.flac


New 1:
ffmpeg.exe -i audio_uncut.flac -ss (0/(24000/1001)) -to (26/(24000/1001)) -codec flac audio_uncut1.flac
ffmpeg.exe -i audio_uncut.flac -ss 0 -to 1.084416667 -codec flac audio_uncut_1.flac

New 2:
ffmpeg.exe -i audio_uncut.flac -ss (2929/(24000/1001)) -to (5179/(24000/1001)) -codec flac audio_uncut2.flac
ffmpeg.exe -i audio_uncut.flac -ss 122.1637083 -to 216.0074583 -codec flac audio_uncut_2.flac

New 3:
ffmpeg.exe -i audio_uncut.flac -ss (133028/(24000/1001)) -to (133803.0689/(24000/1001)) -codec flac audio_uncut3.flac
ffmpeg.exe -i audio_uncut.flac -ss 5548.376167 -to 5580.702999 -codec flac audio_uncut_3.flac


ffmpeg -f concat -i mylist.txt -c flac audio_final.flac

file 'audio_uncut_1.flac'
file 'audio_cut_2.flac'
file 'audio_uncut_2.flac'
file 'audio_cut_3.flac'
file 'audio_uncut_3.flac'


ffprobe.exe -v 0 -sexagesimal -show_entries format^=duration -of compact^=p^=0^:nk^=1 audio_final.flac


ffmpeg^
 -i THE_GIRL_WITH_THE_DRAGON_TATTOO.Title1.mkv -i audio_final.flac^
 -map 0:0 -map 1:0^
 -codec copy^
 final1.mkv

mkv는 동기식인 것 같지만 ... ... audio_final.flac에는 1:33:00.661이 있고 audio_uncut.flac에는 1:33:00.703이 있습니다. 따라서 차이는 0.042초 --> 1프레임입니다.

계산에서 한 프레임이 손실되었습니다. 몇 시간 동안 코드를 보았지만 볼 수 없습니다.

답변1

알았어요. 클로징 크레딧에 오류가 있었습니다.

어쨌든 계산이 틀렸어요. 절단 지점에서 프레임별로 확인하고 일부 부분을 이동해야 합니다.

관련 정보