'Avisynth'에 해당되는 글 18건

  1. 2010.01.07 MKV VFR 영상 만들기 4
  2. 2009.12.22 TemporalCleaner 4
  3. 2009.11.18 EasyVFR 2
  4. 2009.10.18 Divx로 인코딩 하다가 -100 에러가 날 때 3
  5. 2009.10.01 Turn 2
  6. 2009.09.25 Windows7에서 aWarpsharp를 사용 할 수 없을때
  7. 2009.08.24 avisynth에서 m2ts파일 바로 읽기
  8. 2009.08.11 FFT3DGPU 2
  9. 2009.08.11 VBR의 위대함 2
  10. 2009.07.27 TIVTC VFR 작업시 한가지 팁
2010. 1. 7. 00:01

 저번에 easyvfr관련 글을 한번 올렸었는데, 정작 인코딩 후에 마무리 하는 방법을 적질 않았더군요.
 
 VFR과 관련된 스크립트를 적용한 후에 인코딩 한 영상은 프레임 정렬을 해주지 않으면 죄다 29.97 혹은 23.97 프레임으로 재생되어서 오디오와 싱크가 맞지 않게됩니다. 아니 그 이전에 아예 총 재생시간에 차이가 나 버리지요.

 예전 AVI만 있던 시절에는 AVI라는 컨테이너가 VFR을 지원하지 않았기때문에 24f와 30f의 공배수인 120f으로 부풀리는 방법을 사용했습니다. 120f라는 숫자가 좀 압박이라는것과 용량이 좀 는다는게 문제지만 둑둑 끊어진 프레임 보는것보다야 훨씬 나으니, 그런 방법을 사용했죠.

 하지만 MKV, MP4와 같은 포맷은 VFR을 지원 하기때문에 저런 뻘짓(?)을 하지 않아도 괜찮습니다. 방법도 엄청 간단하구요.


준비물
  • 인코딩한 동영상 파일
  • 인코딩한 동영상과 합칠 오디오 파일
  • 인코딩하면서 생성한 타임코드 텍스트 파일
  • mkvmerge (Megui 설치 후 업데이트 한번 하셨다면 따로 필요 없습니다)



1. mkvmerge를 실행합니다. megui 설치 후 업데이트 하신 분이라면 C:\Program Files\megui\tools\mkvmerge의 mmg.exe 파일을 실행하시면 됩니다.

2. input files 창에 합칠 모든 비디오, 오디오 파일을 드래그해서 불러옵니다

2. Tracks, chapter and tags 에서 비디오를 선택하고, Timecodes에 인코딩 하면서 만들어진 타임코드 파일을 불러옵니다
 
3. Start muxing을 누르고 잠시 기다립시다



 

 써놓고도 너무 짧아서 민망하네요. -_-;
 뭐, 참 쉽죠?

 

'Avisynth > 강좌&팁' 카테고리의 다른 글

Divx로 인코딩 하다가 -100 에러가 날 때  (3) 2009.10.18
avisynth에서 m2ts파일 바로 읽기  (0) 2009.08.24
VBR의 위대함  (2) 2009.08.11
TIVTC VFR 작업시 한가지 팁  (0) 2009.07.27
Posted by 아스쿨
2009. 12. 22. 14:07
TemporalCleaner

사용법

TemporalCleaner (clip, int "ythresh", int "cthresh")


정보
원 저장소 : 링크
제작 : Jim Casaburi (Virtualdub용 제작) Vlad59 (Avisynth용으로 컨버팅)
버전 : beta2
분류 : 디노이징
라이센스 : 정보 없음

예제
TemporalCleaner(ythresh=3, cthresh=5) //노이즈가 강할 경우
TemporalCleaner(ythresh=2, cthresh=3) //노이즈가 약할 경우


 이 플러그인의 장점이라면 무지하게 빠른 속도라고 할 수 있겠네요.
 픽셀 하나 하나를 체크하는 다른 방식과는 다르게 Temporal방식의 디노이저들은 앞뒤 픽셀과 비교하여 디노이징을 하기 떄문에 전체적으로 가볍습니다.

 다만, 단점이라고 하면 앞뒤 픽셀과 비교해서 눌러버리는 필터다 보니 살짝 뭉개지는 느낌을 받을 수 있습니다. 이럴때는 샤픈 처리 해주거나 다른 노이즈 필터를 쓰거나 해야겠죠.


ythresh (기본값 5) :휘도(luma)를 얼마나 조절할지 설정합니다.

cthresh (기본값 10) : 색차(threshold)를 얼마나 조절할지 설정합니다.


 이 필터는 애니메이션에서도 매우 유용하지만 실사에서도 유용합니다.
 사실 실사에서 노이즈 지우기에는 FFT3DGPU만한게 없습니다만, 노이즈가 너무 심하다던가 FFT3D만 쓰니 도저히 인코딩 시간과 타협이 되지 않을때 쓰면 좋습니다.

배경을 중점으로 아래 스크린샷을 보시면 대충 비교가 되실겁니다.

BD 1080p->Lancoz4resize(1280, 720)

BD 1080p->Lancoz4resize(1280, 720)->FFT3DGPU

BD 1080p->Lancoz4resize(1280, 720) -> TemporalCleaner


 얼핏 보면 1/3번의 차이가 거의 없어보입니다만, 3번 상황에서 FFT3DGPU를 써 주면 그냥 썼을때와 같은 결과물이 나오면서 약간 더 빠른 인코딩 속도를 보여줍니다. 각 PC의 CPU나 GPU의 스펙에 따라 다르기는 합니다만, FFT3DGPU가 GPU로 처리하기 떄믄에 가볍게 느껴질 뿐이지 엄청나게 무거운 코덱중 하나다보니 CPU를 통해서 일할 양을 조금만 줄여줘도 초당 1~2f 정도 더 인코딩 하더군요.

 사실 이 필터는 애니메이션에서 빛을 발합니다만 지금 소스가 없다는게 참 아쉽네요.



'Avisynth > Plugins' 카테고리의 다른 글

EasyVFR  (2) 2009.11.18
Turn  (2) 2009.10.01
Windows7에서 aWarpsharp를 사용 할 수 없을때  (0) 2009.09.25
FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
Posted by 아스쿨
2009. 11. 18. 23:25
EasyVFR

사용법
 사용법이 좀 복잡해서 제가 True Tears 1화를 인코딩 할때 사용한 스크립트를 첨부합니다. 주석 표기 해 두었으니 참고해서 사용하세요.


정보
원 저장소 : 링크
분류 : VFR 처리
라이센스 : 정보 없음
예제
사용법에 첨부된 avs 파일을 참고 해 주세요

 가끔 이 플러그인 보고 "절대로 Easy가 아니야" 라고 외치는 분들이 계시길래 신경도 안쓰던 필터입니다만 직접 써보니 그렇게 어렵진 않더군요.

 다만 매 파일마다 직접 프레임 구간을 어떻게 나눠야하는지 체크 해야 하는데, 요상하게 전부 맞아 떨어져서 쉽게 쉽게 하고 있습니다.

 원래는 본문에 죽 길게 설명을 나열해야 하지만 그러면 너무 길어지기도 하고 이해도 힘들어서 그냥 제가 인코딩하는데 사용한 스크립트에 주석을 달아봤어요. 허접하지만 잘 봐주시길 ^^



 P.S 그나저나 저 스크립트로 인코딩 속도가 초당 2~3f정도 나오는데, (듀얼코어) 도데체 i5나 i7가지고 0.1~1f 나오게 인코딩 하신다는 분들은 도데체 어떻게 스크립트를 짜시는건지...


'Avisynth > Plugins' 카테고리의 다른 글

TemporalCleaner  (4) 2009.12.22
Turn  (2) 2009.10.01
Windows7에서 aWarpsharp를 사용 할 수 없을때  (0) 2009.09.25
FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
Posted by 아스쿨
2009. 10. 18. 00:35
 꼭 이상하게 제 노트북에서는 안그런데, 집의 데스크탑에서는 -100 에러 메세지가 뜨면서 Divx Npass 로는 인코딩이 되지 않더군요.
 당시 둘다 비스타 SP2 환경이었고, 같은 엔터프라이즈에, 설치되어 있는 소프트웨어도 엇비슷 한데 이거 왜이러나... 했지만 해결 방법을 몰라서 그냥 데스크탑에서의 인코딩을 포기하고 있었습니다만, 오늘 해결 방법을 찾아서 인코딩 성공, 지금 쌩쌩 인코딩중이에요.

 -100에러의 특징은 1pass, Q-based 1pass는 제대로 인코딩이 되는데, Npass 인코딩은 제대로 되지 않는다는 점. 원인은 임시파일이 저장되는 폴더 세팅이었습니다.

 -100 에러 해결을 위해서는


1. 적당한 폴더를 하나 만들어주세요. 단 폴더 내에 한글이나 일본어, 한자등이 포함되어 있으면 안됩니다.

2. Divx 인코딩 설정 창을 열고, 좌측 하단의 Advance를 클릭 해 주세요




3. Temporary Files Folder를 아까 만든 적당한 폴더로 지정해 주세요. C:\windows로 지정하셔도 상관은 없지만... 그럴분은 없으시죠?



 이 에러 처음 겪고 나서 해결한게 반년만이네요. 어휴 -_-;
 국내에는 Divx으로 인코딩 하시는분은 거의 없으니 뭐 자료도 없고, 구글링 해봐도 안나오고...
 외국의 D모 포럼에서 -100 에러가 Npass의 비트레이트 분배 정보를 찾지 못해서 일어난다는 스레드를 보고 한번 해봤는데 잘 인코딩 되는군요.


 저 에러때문에 Divx 코덱을 몇번이나 재설치 한건지... ㅠㅠ

'Avisynth > 강좌&팁' 카테고리의 다른 글

MKV VFR 영상 만들기  (4) 2010.01.07
avisynth에서 m2ts파일 바로 읽기  (0) 2009.08.24
VBR의 위대함  (2) 2009.08.11
TIVTC VFR 작업시 한가지 팁  (0) 2009.07.27
Posted by 아스쿨
2009. 10. 1. 14:20
Turn

사용법
Turn180()
TurnLeft()
TurnRight()


정보
Avisynth 설치만 하면 바로 사용 가능한 스크립트입니다

예제
avisource("anime.avi")
TurnLeft()


 이건 뭐 별로 설명 할것도 없고... 그냥 이미지로 보여드리죠.
어딜가나 예시용으로 제일 만만한 Version()입니다.


Turn180()은 위 아래를 뒤집는걸 볼 수 있지요.

TurnLeft는 왼쪽으로 90도

TurnRight는 오른쪽으로 90도 돌립니다.

 이걸 어디에 쓰냐... 하면 보통 두가지중에 하납니다.
 캠코더로 영상을 촬영했는데 그게 세로로 되어 있어서 돌릴 필요가 있다던가 (이 경우 실사겠죠)
 EEID2를 조합해서 디인터레이스 할 때, 이 정도밖에 없습니다. (애니메이션의 경우 이렇습니다만... 이럴 경우 속도가 완전 극악이라 일부 일본 리퍼만 쓰는 정도입니다)

 
 저같은 경우에는 친구 S9에 얼마전 논란이 된 4분의 현아 직캠 영상을 넣어주기 위해(...)사용 했네요.

 
 

'Avisynth > Plugins' 카테고리의 다른 글

TemporalCleaner  (4) 2009.12.22
EasyVFR  (2) 2009.11.18
Windows7에서 aWarpsharp를 사용 할 수 없을때  (0) 2009.09.25
FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
Posted by 아스쿨
2009. 9. 25. 23:48


 aWarpsharp는 msvcp71.dll , msvcr71.dll 요 두 파일을 필요로 하더군요.
 하지만 Windows7 처음 설치시에는 이 두 DLL파일이 설치 되어 있지 않습니다.

 그냥 저 파일 두개만 찾아서 C:\Windows\System32 에 복사 해 주면 됩니다만, 그것조차 귀찮아서 만들어 봤습니다.

 그냥 받아서, 실행시키시면 알아서 복사되니 별로 신경쓰실건 없어요.

'Avisynth > Plugins' 카테고리의 다른 글

EasyVFR  (2) 2009.11.18
Turn  (2) 2009.10.01
FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
GradFun2DB  (0) 2009.05.30
Posted by 아스쿨
2009. 8. 24. 17:05
 저만 이제 안건지는 모르겠는데, m2ts파일을 직접 불러 올 수 있다는걸 알았어요.

 블루레이 소스 인코딩시 영화 같은 경우야 m2ts파일 여러개를 합쳐야 하기 때문에 DGAVCIndex나 Megui의 Blulay Streams Extractor 를 이용하여 통파일로 뽑아줘야 하지만, 대부분의 TVA애니메이션은 한화당 한파일로 들어 있기 때문에 m2ts파일을 바로 읽어들여 인코딩 하더라도 별 문제가 없지요.

 지금까지 별 생각 없이 매번 DGAVCIndex로 풀어서 인코딩 했었는데, 이제 그냥 m2ts파일을 바로 인코딩 하기로 했어요.

 원하는대로 디코딩 코덱을 설정하기 좀 어렵다는것과 (사실 그래프 그리면 되긴 합니다만) 선호 스플리터를 지정하기 힘들다는 문제가 있긴 하지만, 어차피 제 PC에서 기본 H.264 디코딩 환경이 할리 스플리터 + CoreAVC 조합이라 별 문제 없을거라는 생각이 들더군요.

 위와같은 단점이 있는 만큼 장점도 있어요. 일단 STREAM 폴더에 들어 있는 m2ts 파일을 DGA나 MKV로 뽑아주는 과정이 필요하고, 특히 DGA의 경우에는 원본 m2ts파일이 있어야 읽기 가능한 주제에 용량은 6~7기가에 달해서 300~500MB 파일 하나 만드려고 10~15GB씩 잡아먹어요. 노트북 내장하드 90GB인 저로서는 엄청나게 부담되는 용량이지요.
 하지만 m2ts파일을 바로 읽어버리면 DGA나 mkv로 뽑는 시간도 아끼고, 추가적으로 용량 잡아 먹는 일도 없어요.

 avisynth가 m2ts 파일을 직접 읽기 위해서는 몇가지 환경만 준비 해 주시면 되요
  • H.264 디코딩이 가능한 코덱 (CoreAVC, PowerDVD코덱, Divx H.264 decoder등)
  • 선호 스플리터 (할리 미디어 스필리터 등등)
  • DirectShowSource Filter
사실 이정도는 인코딩 하시는 분들이라면 대부분 구축되어 있는 환경이죠.

 읽기는 그냥 이렇게 해주시면 되요

DirectShowSource("경로\00000.m2ts")

 이 밑으로 필터 리사이즈 하시고.. 필터 적용 하시고... 똑같이 하시면 되요.

 이 방법으로 했을때 인코딩 속도는 약간 느려지더군요. 같은 필터에 소스 읽어오는 방법만 바꿨을때 5f정도 뜨던 인코딩 속도가 3f정도로 낮아지더군요.
 그래봐야 전 노트북이라 하드 읽기 속도가 느려서 dga로 푸는 시간이 한참이라 시간 다 합쳐보면 바로 읽어들이는 편이 빨라서, 그냥 이렇게 하기로 했지요.




'Avisynth > 강좌&팁' 카테고리의 다른 글

MKV VFR 영상 만들기  (4) 2010.01.07
Divx로 인코딩 하다가 -100 에러가 날 때  (3) 2009.10.18
VBR의 위대함  (2) 2009.08.11
TIVTC VFR 작업시 한가지 팁  (0) 2009.07.27
Posted by 아스쿨
2009. 8. 11. 01:34
FFT3DGPU

사용법

FFT3DGPU(clip, float "sigma", float "beta", int "bw", int "bh", int "bt", float "sharpen", int "plane", int "mode", int "bordersize", int "precision", bool "NVPerf", float "degrid", float "scutoff", float "svr", float "smin", float "smax", float "kratio", int "ow", int "oh", int "wintype" , int "interlaced", float "sigma2", float "sigma3", float "sigma4", bool "oldfft" )


정보
원 저장소 : 링크
제작 : tsp
버전 : 0.82 (수동설치 버전 0.81)
분류 : 디노이징
동작 색공간 : YV12, YUY2
라이센스 : 정보 없음
필요 파일 : d3dx9_30.dll (DirectX 9.0c 설치)
추천 사양 : ATI Radeon 95xx 혹http://www.nanoha.pe.kr/owner/entry/post/은 Nvidia Geforce fx 5xxx. Geforce 6xxx 이상

예제
FFT3DGPU(sigma=3) //기초적 사용
FFT3DGPU(bt=-1, sharpen=0.7) //샤픈효과만 사용
FFT3DGPU(sigma=1.5, bt=5, bw=32, bh=32, ow=16, oh=16, sharpen=0.4)
//성능은 좋지만 CPU 점유율이 엄청남



 기본적으로 FFT3dFilter와 같은 역할을 하는 플러그인이에요.
 다만 FFT3dFilter가 엄청난 CPU 사용량으로 지구 온난화를 가속시키면서 CPU가 처리 해야 할 부분을 GPU가 하면 어떨까? 해서 나온 플러그인이죠.

 상세 옵션에 관해서는 김코믹님 블로그에 스샷까지 첨부되어 워낙 잘 설명 되어 있어서(fft3dfilter긴 합니다만, 둘의 옵션과 효과는 완전히 동일, 다만 처리 주체가 다르다는 것 밖엔 차이가 없어요) 전 간단히만 설명하고 넘어갈게요.

 bt : 노이즈를 제거 할 때 참조할 앞뒤 프레임의 양을 결정.
  •  -1 : 단순 샤픈 처리
  • 1 : 현재 프레임만 참조, 2d 노이즈만 제거
  • 2 : 2이상은 3d 노이즈 제거, 현재와 이전 프레임 참조
  • 3 : 이전, 현재, 다음 프레임 참조 (기본값)
  • 4 : 이전 2프레임, 현재, 다음프레임 참조
  • 5 : 이전 2프레임, 현재, 다음 2프레임 참조
  • 0 : 이전프레임을 참고, 단 Temporal Kalman 필터 사용
 sigma : 노이즈 정도, 기본 2.0, 최소 0.0, 기본값 혹은 1.5 추천. 심할경우 3~4 사용

 sharpen : 사픈 값 지정, 0일때 사용하지 않으며, 0이 기본 (fft3dGPU 기준)

 beta : 노이즈 허용 값, fft3dGPU 매뉴얼에 관련 설명이 없어 fft3dfilter의 설명을 찾아보면 기본값 1, 1일때 제거 가능한 모든 노이즈를 제거하며, 10일때 최소한으로 제거(=필터 사용 하지 않음)

 

 제가 주로 사용하는 옵션은
FFT3DGPU(sigma=1.5, bt=5, bw=32, bh=32, ow=16, oh=16, sharpen=0.4)

이정도에요, 개인적으로 쓰기가 부담되어서 _2DCleanYUY2나 TemporalCleaner,
Convolution3D같은 필터로도 답이 안나올때 25분짜리 영상 인코딩에 20시간
나올거 각오 하고 FFT3dGPU를 2~4번 쓰기 때문에 어차피 오래 걸릴거 느려도
최고옵으로 주고 있어요.

 
 

*왠만하면 설치파일을 통한 설치를 추천해요. 왠진 몰라도 수동 설치시 에러가 났었는데, exe파일로 재 설치하니 잘 되더군요.

'Avisynth > Plugins' 카테고리의 다른 글

Turn  (2) 2009.10.01
Windows7에서 aWarpsharp를 사용 할 수 없을때  (0) 2009.09.25
DGDecode  (0) 2009.07.15
GradFun2DB  (0) 2009.05.30
Yadif  (0) 2009.05.27
Posted by 아스쿨
2009. 8. 11. 00:55


  • 귀찮게 용량 계산 안해도 되는게 자랑
  • multi-pass 돌리느라 두세번씩 같은파일 안돌려도 되는게 자랑
  • multi-pass 인코딩 할 때보다 인코딩 속도가 조금이나마 빠른게 자랑
  • 비트레이트 부족으로 인한 깍두기가 안나오는게 자랑

  • 실사 영상은 대부분 용량이 엄청나게 커져버리는건 안자랑
  • 가끔 애니도 용량이 엄청나게 커져버리는건 안자랑
  • 용량이 어떻게 나올지 끝까지 모르는 것도 안자랑


 대부분 CBR로 인코딩 하시길래, VBR의 장점을 써 볼까 했는데 어렵네요.
 뭐, VBR이 잘만 쓰면 CBR보다 장점이 많지요, 용량이 어떻게 될 지 모른다는게 약간 변수긴 하지만...

 
 

'Avisynth > 강좌&팁' 카테고리의 다른 글

MKV VFR 영상 만들기  (4) 2010.01.07
Divx로 인코딩 하다가 -100 에러가 날 때  (3) 2009.10.18
avisynth에서 m2ts파일 바로 읽기  (0) 2009.08.24
TIVTC VFR 작업시 한가지 팁  (0) 2009.07.27
Posted by 아스쿨
2009. 7. 27. 18:52



 미리 결론
 TIVTC 1pass 작업시 Virtualdub mod 보다 일반 Virtualdub이 빠릅니다.


 TIVTC로 VFR영상을 만들때면 보통 다음과 같은 과정을 거치죠.

 1. 처음부터 끝까지 한번 재생시켜 가변 프레임 판별 (TIVTC 1pass)
 2. 영상 인코딩
 3. 생성된 타임코드 파일을 이용하여 프레임 배치

 최근 작업중인 화이트 앨범이 오프닝이 30f와 24f가 조금식 섞여 있는 소스라 이 방법을 이용해 인코딩 하고 있는데요, 아무래도 1pass 작업은 CPU를 100%씩 잡아먹는 하드한 작업이 아니기 때문에 게임(...)이나 인강 보는 중간에 하게 되고, CPU를 전부 쓰지 못하는 것도 있고 해서 Virtualdub mod로 5~7fps정도로 처리 하더군요.

 그러다 시간이 남아서 TIVTC 1pass를 돌리긴 돌려야겠는데, Virtualdub mod에 자르려고 올려둔 동영상이 있어서 Virtualdub mod를 사용하기 곤란한 상황이 한번 생기는 바람에 KMP나 WMP로 해볼까 하다가 이걸로 하다가는 중간에 정지를 누르거나 종료를 누를 것 같다는 생각이 들어 mod의 형격인 Virtualdub을 다운받아 돌렸지요.

 그리고 뭣좀 보다가,  반쯤 되었나.. 싶어서 버덥 창을 열어봤더니 이미 다 끝내 뒀더군요.
 뭔가 이상해서 파일을 열어보니 또 제대로 되어 있길래, 혹시나 싶어서 그 다음 영상을 돌릴때 스태이터스 창을 한번 열어봤더니

 초당 10~15fps정도로 돌리고 있더군요.



 뭔 잡설이 이렇게 길어졌는지... 뭐 하여간 결론만 다시 정리하면 mod보다 일반 버덥을 사용 하는것이 좀 빠르다는거지요.

 이유는 정확하게 모르겠지만, 거의 3~4년째 업데이트가 없는 Virtualdub mod와는 달리 Virtualdub은 Megui만큼은 아니더라도 업데이트가 이루어 지고 있지요. 이때문에 Virtualdub mod는 멀티코어를 제대로 사용하지 못하는데 반해 Virtualdub은 어느정도 업데이트가 된걸로 볼때, Virtualdub이 멀티코어 PC의 잉여 자원을 좀 더 효율적으로 쓴다고 불 수 있겠네요.



'Avisynth > 강좌&팁' 카테고리의 다른 글

MKV VFR 영상 만들기  (4) 2010.01.07
Divx로 인코딩 하다가 -100 에러가 날 때  (3) 2009.10.18
avisynth에서 m2ts파일 바로 읽기  (0) 2009.08.24
VBR의 위대함  (2) 2009.08.11
Posted by 아스쿨