Конвертирование видеофайлов с помощью VirtualDub (устаревший способ)

Для начала на компьютере должен быть установлен видео-кодек FFdshow. Взять его можно на официальном сайте или скачать в комплекте с K-Lite Codec Pack.
Могут быть проблемы с кодеком Theora. Если его не будет в списке, качайте ранние версии K-Lite. Если Вы не нашли нужную, то качайте с неофициального сайта, в этой есть нужный кодек.
Затем нам потребуется программа VirtualDub. Версия может быть любая (у меня 1.4.7).
http://stalkerin.gameru.net/wiki/images/7/75/0vid.jpeg
Ну и наконец, нам нужно видео которое мы хотим засунуть в игру (в формате AVI или MPEG).

Приступим.

1. Выбираем видео (File – Open video file…). Видео загрузится в программу и на рабочей области будут видны кадры из него.

2. Файл не должен содержать звуковой дорожки, поэтому убираем её (Audio – No audio).

3. Теперь самое интересное. Выбираем видеокодек (Video - Compression…). Из списка возможных выбираем FFdshow Video Codec и нажимаем кнопку Configure.
http://stalkerin.gameru.net/wiki/images/0/0a/1vid.jpeg
4. Выбираем вкладку Encoder. В выпадающем списке Encoder должен быть указан кодек Theora. FOURCC – THEO. От величины Bitrate зависит размер и качество видео, на мой взгляд лучше всего выставить значение в 2000 (размер будет нормальный). Что бы не нагружать игру при воспроизведении видео, значение one pass – average bitrate лучше не трогать. Задайте значение Maximum I frame interval равным 100 (во избежание появления артефактов) и поставьте галочку в High quality.
http://stalkerin.gameru.net/wiki/images/2/2f/2vid.jpeg
5. Слева щелкаем по Output. Снимаем галочку в Store frames to AVI и ставим её в Store frames to external file. В выпадающем списке напротив выбираем OGG (works with Theora only). Нажимаем кнопочку «…» и указываем папку в которой будет создан файл (не забудьте приписать после точки расширение .ogm). Настройка завершена, нажимаем «OK».
http://stalkerin.gameru.net/wiki/images/0/08/3vid.jpeg
6. В меню Select video compression нажимаем OK. Затем начинаем обработку (File – Save as AVI), выбираем папку, в которую будет создан файл-пустышка и нажимаем Сохранить. Все. Через некоторое время в заданной папке мы получим OGM-файл, который признает S.T.A.L.K.E.R.
http://stalkerin.gameru.net/wiki/images/d/dc/4vid.jpeg
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