Witam
Można zrobić konwersję fps bez zmiany w czasie i z płynnym wyświetlaniem.
Założenia ***8211; mamy plik *.avi (DivX, Xvid) z 29,97 fps, chcemy uzyskać mpeg-2 z 25 fps.
Potrzebny soft :
Avisynth 2.5 ***8211; zainstalować
SmoothDeinterlacer.dll ***8211; skopiować do C:\WINDOWS\system32
Kodek mpeg-2, obojętnie jaki, np.: CCE, TMPGEnc, HCEnc itp.
1. Rozdzielamy video od audio, obliczamy prawidłowy wymiar powiększenia i przygotowujemy ścieżkę audio zgodnie z
poradnikiem CobryVerde (naturalnie nie ruszamy fps).
2. Otwieramy notatnik i kopiujemy do niego ten skrypt :
Kod:
LoadPlugin("C:\WINDOWS\system32\SmoothDeinterlacer.dll")
AVISource("ścieżka do filmu *.avi")
ConvertToYUY2()
SeparateFields()
Weave()
AssumeFieldBased()
SmoothDeinterlace(tff=false)
LanczosResize(720,540)
AddBorders(0,18,0,18)
ConvertFPS(50)
SeparateFields()
SelectEvery(4, 0, 3)
Weave()
3. Zapisujemy to pod nazwą *.avs.
4. Wczytujemy do kodeka mpeg-2 skrypt avs, ustawiamy wszystko dla materiału wyjściowego mpeg-2 i kompresujemy.
5. Pozostaje połączyć wszystko w programie do authoring-u np.: TMPGEnc DVD Author 1.6 i mamy gotowe DVD.
To wszystko. Efekt jest bardzo dobry, szarpanie związane ze zmianą fps prawie niewidoczne, nie ma problemu z dźwiękiem, bo czas nie uległ zmianie.
Uwagi :
Film źródłowy miał rozdzielczość 576x432 stąd takie wartości w AddBorders. Uzyskujemy obraz bez interlace-u, jeśli ktoś będzie oglądał materiał tylko na zwykłym telewizorze może go nie usuwać (uzyska bardziej ostry obraz) w tym celu kasujemy linie 1,4,5,6,7. Zawsze można to zresztą zrobić również powiedzmy w ffdshow.
Życzę miłej zabawy.
Pozdrawiam
ps. różne konwersje tego typu opisane są
TU (jest tam również pokazane co zrobić aby źródłem był plik mpg).