Replay

From Team Fortress Wiki
Revision as of 01:20, 22 October 2011 by Fieryrage(e) (talk | contribs) (Bugs)
Jump to: navigation, search
For a help guide on using the Replay tool, see Help:Replay Editor.
There was you, very full of yourself. Then, very briefly surprised. Then, dead.
The Sniper showing a Replay to his latest victim
The Replays section of the menu.

The Replay tool is a feature introduced on May 5, 2011 in the Replay Update. The Replay tool enables players to record and edit video footage of gameplay in Team Fortress 2 and edit it directly from the game client. The feature was initially added to Team Fortress 2 Beta on March 9, 2011, but was added to the full game on May 5 as the main focus of the Replay Update.

On servers that enable the feature, video replays of a player's life are recorded and saved directly onto the server. After a player dies, they can choose to download these recordings for editing within the game. The editing features enable scenes to be cut from different angles and include a variety of options including field of view and motion blur. After editing, the Replay tool allows for cut videos to be uploaded directly to YouTube.

With the introduction of the Replay tool and the Replay Update, the First Annual Saxxy Awards were announced as a contest to encourage players to create and upload videos recorded with the tool, as well as eight Replay achievements which have been added to the game.

Recording

HUD notification that appears upon replay download completion.
HUD notification that appears when recording is available.

To record replays, the player must connect to a server that has enabled the feature. A server that supports video replays can be identified by the filmstrip icon (Icon replay.png) next to the server's name in the browser list. Note that replays cannot be recorded on listen servers, i.e. local servers created through the 'Create Server' option in the main menu.

After the player has died, the recording can be downloaded by pressing F6 (default) or using the console command save_replay. A dialog window will appear to confirm the name of the video (by default, it will contain the map name, the date and time of the recording) and once confirmed, the recording will begin to download directly from the server. After the download has completed,a notification will pop up to inform the player and from there, the player can access the recording from the 'Replays' screen accessed from the main menu.

Replay menu

The Replay menu can be accessed from the button in the main menu. The screen shows all saved replays and movies. Each replay is accompanied by statistics related to that particular life, such as the class played, the player's score and kill count, and the map featured in the video. Replays can also be filtered via the search function in the menu.

Individual replays can be viewed and edited by clicking on the 'Watch / Edit' button. This loads the replay file and enables the Replay tool's editing functions for use. From the menu, the player can also save a selected replay to a movie file (for encoding options in greater detail, see Help:Replay Editor).

Replays can be deleted at any time by the player. Replays, before being encoded into movie files, exist in the Source Engine demo format (with the file extension .dem) under the directory /team fortress 2/tf/replay/client/replays. The main limitation of replays in this format is that they are likely to become unreadable in the event of a game update. As such, before exiting the game the player is warned by a dialog message to save existing replays as movie files instead. However, once saved as a movie file, the clip cannot be edited unless using external software.

Editing

Replay Editor interface
For further editing help, see the guide at Help:Replay Editor.

The Replay tool's editing functions can be accessed by opening the replay and pressing Space (default). The editing HUD contains play, pause, rewind, and fast-forward functions and the first-person, third-person, and free camera viewing angle options. Class icons in the bottom-left corner also allow for quick identification of the whereabouts of particular players at the selected time in the video.

Editing with the Replay tool is done in takes. Each 'take' is a selection of video defined by in and out points. The player can set the in and out points (or 'start' and 'end' points) with the buttons on either side of the Play button. The three viewing angle options (first-person, third-person and free camera) can be manipulated at any time to alter the position of the camera by selecting their respective icons in bottom-right corner.

The sequence of the video between the two points including the angles can be saved as a take by clicking the icon in the top-left corner and selecting 'Save'.

Saving

Whole replays or previously-edited takes can be rendered from replay files (.dem) into movie files. In the Replay menu, the player can select the 'Save to Movie' button to bring up the Save options dialog. The filename, resolution and video quality settings can be selected in the dialog, and filesize and time to render estimates are also provided based on the current settings. Checking the 'Show Advanced Options' box displays further options including video codec, render quality, motion blur quality, and an 'Enable Glow Effect' checkbox.

The save feature supports rendering of replay files with two codecs (Template:W and Template:W) with 5 preset resolutions (480p, 720p, 1080p, Web, and iPhone). Alternatively, the replay file can also be saved to raw files in the form of a .tga sequence and an accompanying .wav file. This method renders each frame in the video to an individual .tga file at maximum quality and renders the audio for the scene to a .wav file. The sequence and the audio file can then be encoded together using a video processing program such as VirtualDub (see Help:Replay Editor for further detail).

Rendered movie files are saved to the /team fortress 2/tf/replay/client/rendered directory. After rendering, the video can also be uploaded directly from inside the game.

Uploading

The login prompt for YouTube.

Replay movie files can be uploaded directly to YouTube from inside the game. Inside the Replay menu, selecting a rendered movie files appearing in the 'Saved Movies' list and pressing the 'YouTube It' button will open a YouTube login window and prompt the player to login. The player can then edit the video's title and description while it uploads.

Upon a player reaching 1,000 YouTube views, they will be awarded the Frontline Field Recorder hat.

Server command variables

See also: Server
replay_add_fake_replays
Adds a set of fake replays.
replay_allow_camera_man
default: 1
Auto director allows spectators to become camera man.
replay_allow_static_shots
default: 1
Auto director uses fixed level cameras for shots.
replay_block_dump_interval
default: 10
The server will write partial replay files at this interval when recording.
replay_buffersize
default: 32
Maximum size for the replay memory buffer.
replay_cache_client_ragdolls
default: 0
Record ragdolls on the client during.
replay_data_lifespan
default: 1
The number of days before cleaning up replay demos. Modifying this number will not affect the lifespan of existing replays.
replay_deathcammaxverticaloffset
default: 150
Vertical offset for player Deathcam.
replay_debug
default: 0
Replay debug info.
replay_delay
default: 30
Replay broadcast delay in seconds.
replay_deleteclientreplays
Deletes all replays from client replay history, as well as all files associated with each replay.
replay_docleanup
Deletes stale session data from the fileserver. "replay_docleanup force" will remove all replay session data.
replay_dofileserver_cleanup_on_start
default: 1
Cleanup any stale replay data (both locally and on fileserver) at startup.
replay_dopublishtest
Do a replay publish test using the current setup.
replay_dosanitycheck
Run a sanity check on Replay server setup.
replay_editor_fov_mousewheel_invert
default: 0
Invert FOV zoom/unzoom on mousewheel in the Replay Editor.
replay_editor_fov_mousewheel_multiplier
default: 5
The multiplier on mousewheel input for adjusting camera "FOV" in the Replay Editor.
replay_enable
default: 0
Enable Replay recording on server.
replay_enableeventbasedscreenshots
default: 0
If disabled, only take a screenshot when a replay is saved. If enabled, take up to replay_maxscreenshotsperreplay screenshots.
replay_enablerenderpreview
default: 1
Enable preview during Replay render.
replay_fileserver_host
default: 0
The hostname of the Web server hosting replays. This can be an IP or a hostname, e.g. "1.2.3.4" or "www.myserver.com".
replay_fileserver_offload_enable
default: 0
If enabled, offload session blocks to a secondary machine using the replay_offload_* convars.
replay_fileserver_offload_hostname
default: 0
Hostname for FTP server where session blocks will be offloaded.
replay_fileserver_offload_login
default: 0
Login for session block offloading.
replay_fileserver_offload_maxuploads
default: 1
The maximum number of concurrent uploads allowed.
replay_fileserver_offload_password
default: 0
Login for session block offloading.
replay_fileserver_offload_port
default: 21
Port number for FTP server where session blocks will be offloaded.
replay_fileserver_offload_protocol
default: 0
Must be "ftp".
replay_fileserver_offload_remotepath
default: 0
Remote path where blocks will be stored on the FTP server for session block offloading.
replay_fileserver_path
default: 0
If your Replays are stored at "http://123.123.123.123:4567/tf/replays", replay_fileserver_path should be set to "/tf/replays".
replay_fileserver_port
default: 80
The port for the Web server hosting replays. For example, if your replays are stored at "http://123.123.123.123:4567/tf/replay".
replay_fileserver_protocol
default: 0
Can be "http" or "https".
replay_flushinterval
default: 15
Replay system will flush to disk a maximum of every replay_flushinterval seconds.
replay_forcereconstruct
default: 0
Force the reconstruction of Replays each time.
replay_hidebrowser
Hides Replay browser.
replay_ignorereplayticks
default: 0
replay_local_fileserver_path
default: 0
The file server local path. For example, "c:\MyWebServer\htdocs\replays" or "/MyWebServer/htdocs/replays".
replay_maxconcurrentdownloads
default: 3
The maximum number of concurrent downloads allowed.
replay_maxscreenshotsperreplay
default: 8
The maximum number of screenshots that can be taken for any given replay.
replay_mintimebetweenscreenshots
default: 5
The minimum time (in seconds) that must pass between screenshots being taken.
replay_msgduration_connectrecording
default: 8
Duration for the message that pops up when you connect to a server already recording replays.
replay_msgduration_error
default: 6
Duration of error message in Replay server.
replay_msgduration_misc
default: 5
Duration for miscellaneous replays messages (server errors and such).
replay_msgduration_replaysavailable
default: 6
Duration for replays available message.
replay_msgduration_startrecord
default: 6
Duration for start record message.
replay_msgduration_stoprecord
default: 6
Duration for stop record message.
replay_playerdeathscreenshotdelay
default: 2
Amount of time to wait after player is killed before taking a screenshot.
replay_port
default: 27040
Host Replay port
replay_postdeathrecordtime
default: 5
The amount of time (seconds) to be recorded after you die for a given replay.
replay_postwinreminderduration
default: 5
The number of seconds to show a replay reminder, post-win/lose.
replay_printclientreplays
Prints out all client replay info.
replay_printsessioninfo
Print session info.
replay_quitmsg_dontaskagain
default: 0
The replay system will ask you to render your replays on quit, unless this cvar is 1.
replay_ragdoll_dbg
default: 0
Display replay ragdoll debugging information.
replay_record
Starts Replay demo recording.
replay_reloadbrowser
Reloads Replay data and displays Replay browser.
replay_removeclientreplay
Remove the Replay at the given index.
replay_renderpause
Pause Replay rendering.
replay_rendersetting_encodingquality
default: 100
Render quality: the higher the quality, the larger the resulting movie file size.
replay_rendersetting_exportraw
default: 0
Export raw TGA frames as a .wav file instead of encoding it as a .mov file.
replay_rendersetting_motionblur_can_toggle
default: 0
 ?
replay_rendersetting_motionblurenabled
default: 1
Motion blur enabled/disabled.
replay_rendersetting_motionblurquality
default: 0
Motion blur quality.
replay_rendersetting_quitwhendone
default: 0
Quit after rendering is completed.
replay_rendersetting_renderglow
default: 0
Glow effect enabled/disabled.
replay_renderunpause
Unpause Replay rendering.
replay_screenshotkilldelay
default: 0
Delay before taking a screenshot when you kill someone, in seconds.
replay_screenshotresolution
default: 0
0 for low-res screenshots (width=512), 1 for hi-res (width=1024).
replay_screenshotsenabled
default: 1
Take screenshots for the Replay browser during gameplay?
replay_screenshotsentrykilldelay
default: 0
Delay before taking a screenshot when you kill someone, in seconds.
replay_sentrycammaxverticaloffset
default: 10
Vertical offset from a Sentry on Sentry kill.
replay_sentrycamoffset_frontback
default: -50
Front/back offset for sentry POV screenshot.
replay_sentrycamoffset_leftright
default: -25
Left/right offset for sentry POV screenshot.
replay_sentrycamoffset_updown
default: 22
Up/down offset for sentry POV screenshot.
replay_sessioninfo_updatefrequency
default: 5
If a replay has not been downloaded, the Replay browser will update the status of a given replay on the server based on this "cv".
replay_snapshotrate
default: 16
Snapshots broadcasted per second.
replay_stoprecord
Stop Replay demo recording.
replay_test_take_save_dlg
Open Replay save take dlg.

Related achievements

Tf2arrcamera.png Replay achievements

That's a Wrap
That's a Wrap
Save your very first replay.


We Can Fix It In Post
We Can Fix It In Post
While watching a replay, press space bar to enter the editor.


Time For Your Close-Up, Mr. Hale
Time For Your Close-Up, Mr. Hale
Render a replay into a movie.


Star of My Own Show
Star of My Own Show
Spend some time editing a replay.

Reward: Director's Vision

Home Movie
Home Movie
Achieve 100 YouTube™ views for your movie.


Local Cinema Star
Local Cinema Star
Achieve 1000 YouTube™ views for your movie.

Reward: Frontline Field Recorder


Indie Film Sensation
Indie Film Sensation
Achieve 10,000 YouTube™ views for your movie.


Blockbuster
Blockbuster
Achieve 100,000 YouTube™ views for your movie.

Update history

March 9, 2011 Patch (Beta)
  • Added Replay system that allows you to edit and publish movies of your play experiences (full Mac support in the next few days)

March 10, 2011 Patch (Beta)

  • Show all resolutions available when setting up a replay to render
  • Added the ability to specify an output directory from the command line. Running a server with the optional parameter ‘–replayserverdir <dir name>’ will output all replay data to ‘tf/replay/<dir name>’. For anyone running multiple servers out of the same directory, you’ll want to specify a different output directory for each server. This will avoid collisions and potential issues running replay. Look for confirmation on startup – you should see something like this:
    • Using custom replay dir name: "replay/<dir name>"
  • For admins who have their server(s) configured to server replay data out of a local Web server: the ‘replay_local_fileserver_path’ bug is now fixed. Even if replay_local_fileserver_path pointed to a valid directory, the server would lie and say the directory was invalid.

March 11, 2011 Patch (Beta)

  • Fixed ‘save all’ crash in replay browser
  • Fixed ‘save movies now, then quit’ crash

March 18, 2011 Patch (Beta)

  • Movies upload to YouTube now contain a ‘match’ tag, which includes a unique ID for the round during which the replay was saved
  • Added check-box on the advanced settings dialog to enable/disable the glow effect while rendering replays (default is disabled)
  • Bug and crash fixes

March 21, 2011 Patch (Beta)

  • Added "replay_printsessioninfo <full path>" command for server admins to monitor session files, aid in debugging problems

March 23, 2011 Patch (Beta)

  • UI now saves the "last directory" used for exporting a movie
  • Added a specific error message when trying to upload a movie to YouTube that cannot be found
  • Fixed a bug where replay recording would stop after feigning death

March 24, 2011 Patch (Beta)

  • Fixed audio and video sync issues
  • Fixed a crash when replay filenames exceeded a certain length
  • Fixed start-up issues related to library files

April 26, 2011 Patch (Beta)

  • Fixed audio sync issues on the Mac

May 5, 2011 Patch (Replay Update)

  • Added the Replay feature: http://www.teamfortress.com/replayupdate
    • Known issue with Mac replay rendering being blurry will be fixed in the next update
  • Added 8 new Replay achievements and 2 achievement items

May 6, 2011 Patch

  • Fixed a bug that caused Mac replay renders to be blurry

May 9, 2011 Patch

  • Replay publishing system will try to do a rename for local HTTP mode but will manually copy and delete the file if the rename fails, which can happen if the source and destination are on different volumes.
  • Fixed replay data cleanup system, which cleans up stale data at the end of each round. This asynchronous operation can be explicitly invoked by executing a replay_docleanup command on the server.
  • Removed unused convar, replay_cleanup_time.

May 10, 2011 Patch

  • Fixed a server lockup during data cleanup
  • Fixed a viewmodel fov bug during rendering
  • Renamed the ConVar replay_demolifespan to replay_data_lifespan

May 12, 2011 Patch

  • Added a new command line parameter -replay that will increase maxplayers by 1 at startup and automatically execute replay.cfg for the server
  • Fixed another bug that caused Mac replay renders to be blurry
  • Fixed a bug where Replay FTP offloading was not using replay_fileserver_offload_port
  • Improved detection of Replay server config problems
  • Replay is automatically disabled on servers if the Replay publish test fails
  • Saved Replay movies that were exported as TGA's/WAV will report more descriptive errors if YouTube(TM) upload or "Export" is attempted

May 18, 2011 Patch

  • Fixed server crashes related to replays and new items

May 19, 2011 Patch

  • Fixed the third-person camera options dialog not displaying correctly in the Replay performance editor.

May 25, 2011 Patch

  • Fixed a few server crashes caused by the replay system.

June 15, 2011 Patch

  • Fixed some server replay publishing bugs
  • Added a new ConVar replay_fileserver_offload_aborttime

June 17, 2011 Patch

  • Fixed a servercrash caused by the replay system.

July 22, 2011 Patch

  • Fixed a Linux dedicated server crash caused by the Replay director
    • Crash would happen whether the server was capturing Replays or not

July 26, 2011 Patch

  • Client
    • Added basic/rough render queue for internal use to increase replay output for relaunch trailer
    • Block files are now deleted on replay reconstruction (i.e. viewing), to conserve disk space
    • Unneeded block files are now cleaned up automatically on startup
  • Server
    • Fixed fileserver cleanup
    • Any time replay_fileserver_offload_hostname is modified, the corresponding IP is resolved and cached, if possible. This fixes a crash, as well as failed publishing due to "unresolved hostname" errors.
    • Added a fileserver IP lookup test to replay publish test
    • Setting replay_enable to 0 now halts recording and does cleanup automatically, the way replay_stoprecord does. This fixes a crash that would occur when replay_enable was set to 0 and a changelevel was executed.
  • Replay temp directories automatically cleared on startup on both client and server
  • Memory management improvements

July 27, 2011 Patch

  • Fixed a couple of replay issues

July 29, 2011 Patch

  • Fixed Mac-only replay editor crash.

August 2, 2011 Patch

  • Fix a bug where the increased_maxplayers server tag was being set when the 25th internal player slot was added for replay.

August 18, 2011 Patch

  • Fixed a replay render bug where .wav files did not get written for raw TGA/WAV export

October 13, 2011 Patch (Manniversary Update & Sale)

  • New dramatic editing tools were added to help players make replays more dramatic.

October 17, 2011 Patch

  • Fixed a server crash that occurred when running both SourceTV and Replay.

Bugs

  • Saving a replay movie with the TGA/WAV option only saves the .tga image sequence. The audio stream does not save as the game appears to have problems creating the .wav file:
WaveFixupTmpFile( '.mytempwave.WAV' ) failed to open file for editing
Unable to rename d:\games\steam\steamapps\username\team fortress 2\tf\.mytempwave.wav to d:\games\steam\steamapps\username\team fortress 2\tf\replay\client\rendered\movie_path\audio.wav!
    • It is possible to work around this bug by manually saving an empty .wav file (signed 16 bit, stereo, 44100kHz) named ".mytempwave.wav" to the user "team fortress 2\tf" location with a WAV file editor. The workaround will need to be performed each time a movie needs to be saved.
  • Some viewmodels may appear incorrect or not appear at all in first-person mode. Some particle effects may also not be rendered.
  • Upon creating, editing, and watching a Replay and then joining a match, no in-game text chat or voice commands will be displayed until the player opens the text chat box.
  • The Administrator's responses in a Replay treat RED as the ally and BLU as the enemy, regardless of the Replay owner's team.
  • Ragdolls in a Replay may fall or move differently each time the Replay is viewed and/or edited.
  • The replay can be uploaded to a YouTube account before the account has an upload channel configured. After the upload finishes, a message indicating a connection problem is displayed.
  • Occasionally, if the owner of the Replay uses a Dead Ringer during it's length, the Replay will end when their feign death activates.
  • Sometimes, if you slow down or speed up time and change the view to first person, then change time again, the speed will stay the same as if the time wasn't changed. Changing the view to third person or freecam usually fixes the problem.

See also

External links