W DŹWIĘKU NIE MA CZEGOŚ TAKIEGO JAK FPS I NIE JEST ON ZALEŻY OD FILMU.
Oj mylisz sie kolego :) Wytlumacze to tak. Im wiecej fps w filmie, tym szybciej "idzie" film.
Parametrem odpowiedzialnym za "szybkosc" obrazu jest wlasnie fps (klatki na sekunde). Z tego powodu mniejsza ilosc fps w filmie to dluzszy (tak, dokladnie!) o kilka sekund czas trwania filmu.
Proponuje teraz zastanowic sie nad jedną rzeczą. Załóżmy, że masz 2 kopie tego samego filmu. Pierwsza kopia jest zakodowana za pomoca fps=25, druga fps=23.976. Pierwszy film "idzie" więc szybciej (bardzo nieznacznie szybciej) od drugiego. Ale w takim wypadku zastanówmy się, co z dzwiękiem? Otóż dzwięk powinien iść proporcjonalnie szybciej - gdyby nie to, rozsynchronizowalby sie z obrazem. To zupelnie tak samo jak z napisami - dla roznych wartosci fps musza byc rozne napisy.
W jaki sposob dzwiek moze isc szybciej lub wolniej? Ano przez zmiane tonacji - to tak, jakbys nagral dzwiek na tasme z jedna predkoscia, a odtworzyl z wieksza - wtedy tonacja bedzie wyzsza, a caly dzwiek bedzie trwal krocej.
Czyli, operujac na twoim przykladzie - dzwiek wyciagniety z filmu 30 fps bedzie inny (krotszy czas trwania i wyzsza tonacja) niz ten wyciagniety z filmu 25 fps.
Czyli jak na zywca wyciagniesz sciezke dzwiekowa z filmu 30 fps a potem podlozysz ja do filmu fps=25 fps to chyba logiczne ze nie bedzie pasowac, prawda? Chyba dobrze wytlumaczylem.
Jakie jest wiec wyjscie z sytuacji? Wyjscia sa 2:
- albo zmienic fps filmu na taki, ktory odpowiadana posiadanej przez nas sciezce dzwiekowej (to co proponowales wczesniej) i podlozyc ta sciezke dzwiekową
- albo zmienic tonacje wyciagnietej sciezki dzwiekowej na taka, zeby dzwiek pasowal do filmu o wybranym fps (tak robie ja)
Teraz jeśli chodzi o Twój problem. Jeśli chcesz zastąpić ścieżkę dźwiękową w filmie HD ścieżką dźwiękową z filmu xvid, ważne ZASTĄPIĆ, nie POŁĄCZYĆ, to wystarczy zrobić tak:
- Usuwasz ścieżkę dźwiękową z filmu HD.
- Eksportujesz ścieżkę dźwiękową z filmu xvid do formatu WAV
- Dodajesz ścieżkę dźwiękową do filmu HD jednocześnie kodując go w jakimś formacie AC3 czy innym.
A czy kolega w ogole widzial kiedys film HD? ;) Filmy HD nigdy nie sa kodowane w xvid, a kontener to nie avi, ktory jest moim zdaniem zreszta bardzo ułomny.
Stosowany kontener to Matroska (mkv), który umozliwia obecnosci kilku sciezek dzwiekowych w roznych jezykach i przelaczanie sie pomiedzy nimi (zupelnie jak w DVD, tylko ze tutaj wszystko jest w jednym pliku). Wiecej tutaj: http://pl.wikipedia.org/wiki/Matroska
Mowiac obrazowo, mozna wiec dodac sobie do takiej Matroski co sie chce nie ruszajac ani nie kodujac ponownie tego co jest tam juz umieszczone - mozna na przyklad dorzucic polska sciezke dzwiekowa i przelaczac sie pomiedzy polska i angielska. A chyba logiczne, ze dzwiek przekonwertowac jest latwiej i szybciej niz obraz w rozdzielczosci HD - dlatego pierwszy sposob, ktory podales od razu wykluczylem.
Co do mojego problemu, ktos wymyslil juz programik, ktory realizuje to co chce zrobic - nazywa sie BeSweet. Aby zmienic tonacje sciezki dzwiekowej z 25 fps na 23.976, wystarczy napisac tak:
BeSweet.exe" -core( -input "plik.wav" -output "plik.mp3" ) -ota( -r 25000 23976 )
Program automatycznie zakoduje sciezke w formacie mp3 i zmieni tonacje o tyle ile trzeba. Dziala idealnie :)