Конвертирование видеофайлов с помощью VirtualDub (устаревший способ)
Для начала на компьютере должен быть установлен видео-кодек FFdshow. Взять его можно на официальном сайте или скачать в комплекте с K-Lite Codec Pack.
Могут быть проблемы с кодеком Theora. Если его не будет в списке, качайте ранние версии K-Lite. Если Вы не нашли нужную, то качайте с неофициального сайта, в этой есть нужный кодек.
Затем нам потребуется программа VirtualDub. Версия может быть любая (у меня 1.4.7).
Ну и наконец, нам нужно видео которое мы хотим засунуть в игру (в формате AVI или MPEG).
Приступим.
1. Выбираем видео (File – Open video file…). Видео загрузится в программу и на рабочей области будут видны кадры из него.
2. Файл не должен содержать звуковой дорожки, поэтому убираем её (Audio – No audio).
3. Теперь самое интересное. Выбираем видеокодек (Video - Compression…). Из списка возможных выбираем FFdshow Video Codec и нажимаем кнопку Configure.
4. Выбираем вкладку Encoder. В выпадающем списке Encoder должен быть указан кодек Theora. FOURCC – THEO. От величины Bitrate зависит размер и качество видео, на мой взгляд лучше всего выставить значение в 2000 (размер будет нормальный). Что бы не нагружать игру при воспроизведении видео, значение one pass – average bitrate лучше не трогать. Задайте значение Maximum I frame interval равным 100 (во избежание появления артефактов) и поставьте галочку в High quality.
5. Слева щелкаем по Output. Снимаем галочку в Store frames to AVI и ставим её в Store frames to external file. В выпадающем списке напротив выбираем OGG (works with Theora only). Нажимаем кнопочку «…» и указываем папку в которой будет создан файл (не забудьте приписать после точки расширение .ogm). Настройка завершена, нажимаем «OK».
6. В меню Select video compression нажимаем OK. Затем начинаем обработку (File – Save as AVI), выбираем папку, в которую будет создан файл-пустышка и нажимаем Сохранить. Все. Через некоторое время в заданной папке мы получим OGM-файл, который признает S.T.A.L.K.E.R.
P.S.: Как засунуть видео в игру? – подредактировать файл ui_movies.xml. Он лежит в папке gamedata\config\ui\.
P.P.S.: А что со звуком? – в том же файле, в строке <sound>путь_до_файла_от_папки_sound_без_расширения<sound> указываем нужный файл (пример: <sound>characters_voice\scenario\video\thq_logo_audio</sound>). Применительно к SoC в папке должны лежать два файла в формате OGG. Они должны быть названы одинаково, но в конце перед расширением надо поставить либо _L, либо _R (левый и правый каналы соответственно, пример: thq_logo_audio_l и thq_logo_audio_r). Для CS и CoP требуется один файл (стерео или моно).
Конвертирование видеофайлов с помощью ffmpeg2theora 0.23
Использование
Чтобы сконвертировать ваш видеофайл в формат, понятный игре, просто перетащите ролик в формате .avi на иконку программы и смените расширение у полученного файла с .ogv на .ogm.
Лист опций программы (EN)
Usage: ffmpeg2theora [options] input
General output options:
-o, --output alternative output filename
--no-skeleton disables ogg skeleton metadata output
-s, --starttime start encoding at this time (in sec.)
-e, --endtime end encoding at this time (in sec.)
-p, --v2v-preset encode file with v2v preset.
Right now there is preview, pro and videobin. Run
'ffmpeg2theora -p info' for more informations
Video output options:
-v, --videoquality [0 to 10] encoding quality for video (default: 5)
use higher values for better quality
-V, --videobitrate [1 to 16778] encoding bitrate for video (kb/s)
--optimize optimize video output filesize (slower) (same as speedlevel 0)
--speedlevel [0 2] encoding is faster with higher values the cost is quality and bandwidth
-x, --width scale to given width (in pixels)
-y, --height scale to given height (in pixels)
--max_size scale output frame to be withing box of
given size (in pixels)
--aspect define frame aspect ratio: i.e. 4:3 or 16:9
-F, --framerate output framerate e.g 25:2 or 16
--croptop, --cropbottom, --cropleft, --cropright
crop input by given pixels before resizing
-S, --sharpness [0 to 2] sharpness of images (default: 0).
Note: lower values make the video sharper.
-K, --keyint [1 to 65536] keyframe interval (default: 64)
--no-upscaling only scale video or resample audio if input is
bigger than provided parameters
Video transfer options:
--pp Video Postprocessing, denoise, deblock, deinterlacer
use --pp help for a list of available filters.
-C, --contrast [0.1 to 10.0] contrast correction (default: 1.0)
Note: lower values make the video darker.
-B, --brightness [-1.0 to 1.0] brightness correction (default: 0.0)
Note: lower values make the video darker.
-G, --gamma [0.1 to 10.0] gamma correction (default: 1.0)
Note: lower values make the video darker.
-Z, --saturation [0.1 to 10.0] saturation correction (default: 1.0)
Note: lower values make the video grey.
Audio output options:
-a, --audioquality [-2 to 10] encoding quality for audio (default: 1)
use higher values for better quality
-A, --audiobitrate [32 to 500] encoding bitrate for audio (kb/s)
-c, --channels set number of output channels
-H, --samplerate set output samplerate (in Hz)
--noaudio disable audio from input
--novideo disable video from input
Input options:
--deinterlace force deinterlace, otherwise only material
marked as interlaced will be deinterlaced
-f, --format specify input format
--inputfps fps override input fps
--audiostream id by default the last audio stream is selected,
use this to select another audio stream
--sync use A/V sync from input container. Since this does
not work with all input format you have to manually
enable it if you have issues with A/V sync
Metadata options:
--artist Name of artist (director)
--title Title
--date Date
--location Location
--organization Name of organization (studio)
--copyright Copyright
--license License
--contact Contact link
Other options:
-P, --pid fname write the process' id to a file
-h, --help this message
Examples:
ffmpeg2theora videoclip.avi (will write output to videoclip.ogv)
ffmpeg2theora videoclip.avi --subtitles subtitles.srt (same, with subtitles)
cat something.dv | ffmpeg2theora -f dv -o output.ogv -
Encode a series of images:
ffmpeg2theora frame%06d.png -o output.ogv
Live streaming from V4L Device:
ffmpeg2theora /dev/video0 -f video4linux --inputfps 15 -x 160 -y 128 -o - \
| oggfwd iccast2server 8000 password /theora.ogv
Live encoding from a DV camcorder (needs a fast machine):
dvgrab - | ffmpeg2theora -f dv -x 352 -y 288 -o output.ogv -
Live encoding and streaming to icecast server:
dvgrab --format raw - \
| ffmpeg2theora -f dv -x 160 -y 128 -o /dev/stdout - \
| oggfwd iccast2server 8000 password /theora.ogv