Difference between revisions of "Screenshots"

From BakaBT Wiki
Jump to: navigation, search
(Hosting Images: proper URL for BakaSHOTS)
(Major rewrite of the taking sceenshots section thanks to line0)
Line 1: Line 1:
This article is aimed for providing useful information regarding adding screenshots to your description and the software used.
+
This article is aimed at providing useful information regarding adding screenshots to your description and the software used.
  
Adding screenshots to your description is generally preferred, and usually requested as it's meant to preview the video and subtitle quality for the torrent. For that reason when taking screenshots they must be in source resolution, PNG (lossless) format unless the video is anamorphic in which case they need to be in display aspect ratio.
+
Adding screenshots to your description is necessary, as it's meant to preview the video and subtitle quality for the torrent. For that reason when taking screenshots they must be in source resolution, PNG (lossless) format, unless the video is anamorphic in which case they need to be in display resolution.
  
 +
__TOC__
 +
<tt style="color:gray; font-size:80%; float:right;">r2 - 2013-07-04</tt>
 
=Taking Screenshots=
 
=Taking Screenshots=
They can be made with most recent video players, but we generally recommend MPC, KMplayer or VLC player.
+
# <span style="font-size:140%;"><span style="color:green;">Recommended:</span> AvsPmod</span> (& AviSynth, Dither)
 +
#: Most flexible solution, but requires a few steps to set up.
 +
#:* + using Firesledge's script provided in this thread pretty much guarantees the screenshots to be the most faithful representation of the source
 +
#:* + high quality scaling for comparing releases with different frame dimensions
 +
#:* + AvsPmod provides efficient and convenient ways to compare multiple releases and batch export screenshots
 +
#:* - rendering subtitles requires them to be demuxed from the release
 +
# <span style="font-size:140%;"><span style="color:green;">Good:</span> MPC-HC + madVr</span>
 +
#: Easy to set up solution that doubles as THE high quality video playback solution on Windows, but not as convenient as method #1
 +
#:* + video quality on par with the AviSynth method
 +
#:* + easy to set up (install CCCP) and use (like a media player), doesn't require any demuxing or indexing
 +
#:* - does not supporting scaled screenshots for comparing releases with different frame dimensions
 +
#:* - not as well suited (or intended) as AvsPmod for more extensive comparisons, comparing releases side-by-side possible but cumbersome
 +
# <span style="font-size:140%;"><span style="color:green;">Good:</span> mpv</span> (opengl-hq)
 +
#: Cross-platform solution also available on Mac OS X and Linux, not as convenient as method #1
 +
#:* + easy to set up and use if you're familar with the command line
 +
#:* + access to advanced configuration options and quite powerful video filters for a video player
 +
#:* - video quality very slightly inferior to methods #1 and #2
 +
#:* - not as well suited (or intended) as AvsPmod for more extensive comparisons, comparing releases side-by-side possible but cumbersome
 +
# <span style="font-size:140%;"><span style="color:orange;">Avoid:</span> MPC-HC + EVR CP</span>
 +
#: Default setup when installing CCCP or MPC-HC/BE.
 +
#:* ! not a fault of EVR in and by itself, but an all too common error source: uses video "enhancement" features of your video card driver which actually destroys the video (and your screenshots) in several ways, including but not limited to:
 +
#:** fucking up colors,
 +
#:** adding ugly sharpening,
 +
#:** creating sugoi banding, and
 +
#:** other artifacts.
 +
#::If you absolutely have to use the EVR renderer for taking screenshots, '''make sure''' all video enhancement options of your graphics card driver are turned off
 +
#:* - possible pixel shift to the left (tested on recent NVidia drivers)
 +
#:* - slightly inferior video quality compared to madVr (defaults to bilinear chroma upscaling, random dithering using lav video decoder)
 +
# <span style="font-size:140%;"><span style="color:red;">Do not EVER use:</span> VLC</span>
 +
#: Atrocious video player with terrible video quality
 +
#:* - uses wrong matrix for RGB conversion (results in wrong colors)
 +
#:* - uses point upscaling for chroma planes
 +
#:* - introduces strong banding
 +
#:* - all the other bugs (including some that haven't been fixed in years) make it equally unsuitable media player. Seriously, stop using VLC!
 +
# <span style="font-size:140%;"><span style="color:red;">Do not use <span style="font-size:60%;">until further notice</span>:</span> FFmpeg</span>
 +
#: Versatile command line video/audio processing tool unsuitable for taking screenshots
 +
#:* - incorrectly uses BT.601 matrix for all content (results in wrong colors)
 +
#:* - colormatrix filter causes strong banding
 +
#:* - uses point upscaling for chroma planes and ordered dithering (low video quality)
 +
#:* - not practical doing screenshot comparisons (as a standalone tool), doesn't seem to be able to take frame numbers as seek points
  
===[http://sourceforge.net/projects/guliverkli/ Media Player Classic - Home Cinema (MPC-HC)]===
+
==<span style="color:green;">AvsPmod</span>==
:This player comes bundled in [[CCCP]].  
+
===Required Components===
If [http://forums.bakabt.me/index.php?topic=13746.0 configured] correctly it takes screenshots with a key combination Alt+I.<br />
+
{| class="wikitable"
After that it gives you a Save As output where you choose the path and the picture format.
+
|-
 +
! '''Software'''
 +
! '''Version'''
 +
!
 +
|-
 +
| AviSynth
 +
| 2.6a4
 +
| [http://sourceforge.net/projects/avisynth2/files/AviSynth_Alpha_Releases/AVS%202.6.0%20Alpha%204%20%5B130114%5D/AviSynth_130114.exe Download]
 +
|-
 +
| AvsPmod
 +
| 2.5.1
 +
| [http://www.amvhell.com/avspmod/AvsPmod_v2.5.1.zip Download]
 +
|-
 +
| FFMS2
 +
| r743 (10bithack)
 +
| [http://nmm.me/vh Download]
 +
|-
 +
| Dither Avisynth Tools
 +
| 1.22.1
 +
| [http://ldesoras.free.fr/src/avs/dither-1.22.1.zip Download]
 +
|-
 +
| Masktools
 +
| 2.0a48 for 2.6a4 (06_taro)
 +
| [http://tmod.nmm-hd.org/Misc/mt_masktools-26-for-2.6alpha4.7z Download]
 +
|-
 +
| xy-vsfilter
 +
| 3.0.0.214
 +
| [http://puu.sh/32YXM.dll Download]
 +
|-
 +
| FFInfoEx
 +
| r1
 +
| [http://files.line0.in/avisynth/FFInfoEx.avsi Download]
 +
|}
  
To take screenshots with subtitles in MPC-HC with Alt+I, subtitles must be being rendered by an intermediate filter before the video renderer. You can use DirectVobSub/VSFilter or FFDShow subtitle rendering, but it's much better to use DirectVobSub/VSFilter for subtitles, which can be configured as follows:
+
This tutorial also assumes you're running a '''fully updated Windows 7/8''' machine with all recent VC++ distributables, .net Frameworks and whatnot. Things probably also work on Vista/XP and you might even get them to run with Wine on Linux, but you're on your own.</li>
  
1) DirectVobSub/VSFilter(note: they are the same thing) needs to be present on your computer. (Included in CCCP and in K-Lite Standard pack and above)<br />
+
===Setting thing up the environment===
2) In MPC-HC, make sure that the 'Auto-load subtitles' option is not ticked. (View-> Options-> Playback)<br />
+
<ol><li>Install AviSynth</li>
3) (Windows 7) Add DirectVobSub(auto-loading version) to 'External Filters' in MPC-HC (View-> Options-> External Filters) and set it as 'Prefer.'<br />
 
4) Make sure that FFDShow Video Decoder's subtitle option is not enabled.<br />
 
5) Make sure that you use a video output (View->Options->Output) that is capable of taking a screenshot.<br />
 
  
*By default, CCCP already does this.
+
<li>Open your AviSynth plugins directory in Explorer<br />
 +
  Unless you changed the the AviSynth install location, your plugins directory should be<br />
 +
  <span style="color:gray; font-size:80%; line-height:1em;">(enter these into your explorer location bar):</span>
 +
  <ul><li>[On 64-bit Windows] <tt><span style="color:blue">%ProgramFiles(x86)%\AviSynth 2.5\plugins</span></tt></li>
 +
  <li>[On 32-bit Windows] <tt><span style="color:blue">%ProgramFiles%\AviSynth 2.5\plugins</span></tt></li></ul>
 +
  There should be only 3 files inside the directory: <tt><span style="color:blue">colors_rgb.avsi</span></tt>, <tt><span style="color:blue">DirectShowSource.dll</span></tt>, <tt><span style="color:blue">TCPDeliver.dll</span></tt></li>
  
*This player takes screenshots in storage aspect ratio, which means that for anamorphic videos these screenshots need to be resized with external software such as Gimp or Photoshop so that the image doesn't appear distorted.
+
<li>Open the Dither Avisynth Tools archive (<tt><span style="color:blue">dither-1.22.1.zip</span></tt>) and unpack the following files to your AviSynth plugin directory:
 +
  <ul><li><tt><span style="color:blue">avstp.dll</span></tt></li>
 +
  <li><tt><span style="color:blue">dither.avsi</span></tt></li>
 +
  <li><tt><span style="color:blue">dither.dll</span></tt></li>
 +
  <li><tt><span style="color:blue">mt_xxpand_multi.avsi</span></tt></li></ul>
 +
  <span style="color:gray; font-size:80%; line-height:1em;">The docs folder inside the archive contains detailed documentation on the dither tools, so you might want to extract this to your AviSynth Docs directory or anywhere else you'll find it in case you need it later</span></li>
  
===[http://www.kmplayer.com/forums/showthread.php?t=4094 KMplayer]===
+
<li>Open the downloaded ffms2 archive and extract the contents into your Avisynth plugin directory
:This is a powerful freeware player which by default utilises it's own internal codecs for video and displaying subtitles.
+
  <ul><li><tt><span style="color:blue">ffms2.dll</span></tt></li>
Download the latest stable release because the screenshot feature doesn't work well with external filters needed for styled subs in the latest beta.<br />
+
  <li><tt><span style="color:blue">ffmsindex.exe</span></tt></li></ul></li>
This player also needs to be [[KMPlayer#Tweak|tweaked]] to display styled subs properly.
 
  
After the external filters are enabled, to take screenshots you have to set them to Draw to Image Itself Alt+M and in preferences you need to set filetype and capture path.
+
<li>Open the downloaded masktools archive and extract <tt><span style="color:blue">mt_masktools-26.dll</span></tt> to your AviSynth plugin directory</li>
Open Preferences (F2)
 
Association/Capture -> Capture (tab) -> Choose your save path and filetype.
 
  
Screenshots are taken with Ctrl+E or Ctrl+A (quick Capture)<br />
+
<li>Open the downloaded AvsPmod archive and extract the <tt><span style="color:blue">AvsPmod</span></tt> folder to:
For Anamorphic video you can take "What You See" screenshot Ctrl+Alt+E or Ctrl+Alt+A but be careful not to resize the video or take them while the video is in fullscreen.
+
  <ul><li>On 64-bit Windows: <tt><span style="color:blue">%ProgramFiles(x86)%</span></tt></li>
 +
  <li>On 32-bit Windows: <tt><span style="color:blue">%ProgramFiles%</span></tt></li></ul>
 +
  Create a shortcut to <tt><span style="color:blue">avspmod.exe</span></tt>, or pin it to the taskbar/start menu</li>
  
===[http://smplayer.sourceforge.net/ SMPlayer]===
+
<li>Copy the downloaded <tt><span style="color:blue">VSFilter.dll</span></tt> and <span style="color:blue">FFInfoEx.avsi</span> to your Avisynth plugin directory</li></ol>
  
Open Preferences (Options -> Preferences)
+
===Getting started with screenshot comparisons===
General -> General -> Screenshots -> change folder to your preference
+
<ol><li>Start AvsPmod and open the settings dialog (''Options > Program settings'')
Subtitles -> Subtitles -> check "Include subtitles on screenshots"
+
<ol style="list-style-type:lower-latin;">
 +
  <li>On the ''User Sliders'' tab check ''Hide slider window by default'' (The slider window usually only gets in the way)</li>
 +
  <li> If you are using more than one screen, it's usually wise to check the ''Seperate preview window'' option, so you can have one screen dedicated to the video and one to the script</li>
 +
  <li>On the Misc tab, uncheck the ''Show warning for bad plugin naming at startup'' option</li></ol></li>
  
Screenshots are taken by pressing 's'. If the video is paused, the screenshot will not be created until you unpause.
+
<li>Go to ''Options > Snippets'' and click on ''Insert''. Insert the following script template as snippet and give it a tag you will remember<br />
 +
<span style="color:gray; font-size:80%; line-height:1em;">(Script by Firesledge with a few additions)</span></li>
 +
 
 +
<tt>
 +
vidfile="<span style="color:brown">VIDEOFILE</span>"
 +
subfile=""
 
   
 
   
 +
c1  = FFVideoSource (vidfile, enable10bithack=false)
 +
c2  = FFVideoSource (vidfile, enable10bithack=true, varprefix="c1_")
 +
w  = c1.Width ()
 +
h  = c1.Height ()
 +
wm4 = (w + 3) / 4 * 4
 +
hm4 = (h + 3) / 4 * 4
 +
b10 = (c2.Height () > c1.Height ())
 +
<span style="color:brown">
 +
target_width = w
 +
target_height = h</span>
 +
display_timecode = false
 +
 +
matrix  = (c1_FFCOLOR_SPACE == 1) ? "709"
 +
\        : (c1_FFCOLOR_SPACE >= 5) ? "601" : Dither_undef ()
 +
par      = (c1_FFSAR_NUM > 0 && c1_FFSAR_DEN > 0)
 +
\        ? Float (c1_FFSAR_NUM) / Float (c1_FFSAR_DEN)
 +
\        : Dither_undef ()
 +
tv_range = (c1_FFCOLOR_RANGE != 2)
 +
 +
(b10) ? c2 : c1
 +
(VersionNumber () >= 2.6) ? last
 +
\ : (b10) ? Dither_addborders16 (0, 0, wm4 - w, hm4 - h)
 +
\        : AddBorders (0, 0, wm4 - w, hm4 - h)
 +
 +
(target_width != c1.Width() || target_height != c1.Height()) ? Dither_srgb_display (lsb_in=b10, matrix=matrix, par=par, tv_range=tv_range, w=target_width, h=target_height)
 +
\ :                                                            Dither_srgb_display (lsb_in=b10, matrix=matrix, par=par, tv_range=tv_range)
 +
 +
(StrLen(subfile) > 0)  ? TextSub(subfile) : nop()
 +
 +
FFInfoEx(vfrtime=display_timecode, cfrtime=false, frametype=false, x=last.width-6, y=4, cmt="<span style="color:brown">GROUPNAME</span>", align=9, shorttime=true)
 +
</tt>
 +
 +
<li>Now that you're all set, let's load the videos to compare.
 +
<ol style="list-style-type:lower-latin;">
 +
  <li>Click into the empty script window and hit <span style="color:navy">F7</span> to get a list of your snippets. Since there's only the one snipped you just created, hit <span style="color:navy">TAB</span> to insert it</li>
 +
  <li>Replace <tt><span style="color:brown">VIDEOFILE</span></tt> in the first line with the full path to an episode of the first release you want to compare and <tt><span style="color:brown">GROUPNAME</span></tt> in the last line with the appropriate group tag</li>
 +
  <li>Hit <span style="color:navy">F5</span> to load (or refresh) the video. Loading a file for the first time might take a few seconds, since the file is being indexed first.</li>
 +
  <li>Save the script</li>
 +
  <li>Hit <span style="color:navy">Ctrl+N</span> or double click next to the current tab to open a new script tab</li>
 +
  <li>Repeat from Step '''3a'''</li></ol></li>
 +
 +
<li>Syncing up the releases (easymode)
 +
<ol style="list-style-type:lower-latin;">
 +
  <li>Check if the video of all releases matches up, by going through them with Alt+1, Alt+2, Alt+3, ...<br />
 +
  The best way to do is is to seek to the last frame before a scene change, check if it matches up across tabs, then seek to the next frame and check again<br />
 +
  <span style="color:gray; font-size:80%; line-height:1em;">(Seek by using the arrow keys (<span style="color:navy">left/right</span>: 1 frame; <span style="color:navy">up/down</span>: 1 second) or clicking the timeline for larger time distances)</span><br /><br />
 +
  '''Note: ''' You may find out that not all subsequent frames match up or worse, the releases running out of sync over time. If it's only single frames, just avoid using them for screenshots.
 +
  In case of releases running out of sync, you're dealing with either missing sections or different frame rates. Refer to the <span style="color:gray">[Advanced Tutorial TBD]</span> on how to deal with those cases.</li>
 +
  <li>Once all releases you want to compare are in sync, right click their tabs and add them to a single group. Make sure the ''Apply offsets'' option is checked<br />
 +
  <span style="color:gray; font-size:80%; line-height:1em;">AvsPmod will now remember the frame offsets between tabs and automatically seek to the right frames on a shared timeline.</span></li></ol></li>
 +
 +
<li><ol style="list-style-type:lower-latin;">
 +
  <li>To reasonably compare screenshots, we need all frame sizes to be of the same resolution. You should have noticed any differences already while syncing up the releases.<br />
 +
  If all resolutions match, skip this step. If they don't, find out the highest resolution by looking at the bottom right of the status bar.<br />
 +
  <span style="color:gray; font-size:80%; line-height:1em;">The information will be in the following format: FrameWidth x FrameHeight (AspectRatio)  - Framerate fps - Colorspace</span></li>
 +
<li>Take the largest width and height among the releases and find the following section in the scripts for all releases that need to be resized:
 +
<pre style="color:brown">target_width = w
 +
target_height = h</pre>
 +
Replace <span style="color:brown">w</span> with the largest FrameWidth and <span style="color:brown">h</span> with the largest FrameHeight</li>
 +
<li>Hit <span style="color:blue">F5</span> to refresh the video preview and confirm everything works as expected.</li>
 +
</ol></li>
 +
 +
<li>Select frames for the screenshot comparison
 +
<ol style="list-style-type:lower-latin;">
 +
  <li>Find a frame suitable to convey significant information about an aspect of video quality.<br />
 +
    Pick:
 +
    <ul><li>one or two frames of a structure that represents what is on the screen most of the episode (to give a general idea about the video quality)</li>
 +
      <li>frames from dark scenes</li>
 +
      <li>high-detail frames / frames with fine structures</li>
 +
      <li>frames with low contrast</li>
 +
      <li>frames from high-motion scenes</li>
 +
      <li>a frame or two from a fade-in/fade-out</li>
 +
      <li>frames that display video artifacts in one ore more releases <span style="font-size:80%; line-height:1em;"><span style="color:gray;">(refer to </span>[http://forums.bakabt.me/index.php?topic=32193 this]<span style="color:gray"> thread on how to spot and identify video artifacts)</span></span></li>
 +
      <li>at least one frame from the OP and one frame from the ED</li></ul>
 +
  <span style="color:gray; font-size:80%; line-height:1em;">Try to get as many B-Frames as possible. Ideally you'd want matching frame types across the different releases.<br />In practice checking this gets more of a waste of time with each additional release you have to compare. Just try to keep the number of B-to-I comparisons low and make sure you don't pick only B-Frames for one release and only P-Frames for the other.<br />A very easy way to avoid this issue is to not pick frames by only looking at one release. This comes with the added benefit of you being more likely to spot video artifacts in ALL releases.<br />(Check the overlay on the top right of the video frame to find the frame type of the current frame.)</span></li>
 +
  <li>Once you've decided on a frame, hit <span style="color:navy">Ctrl+B</span> to bookmark it.</li>
 +
  <li>Repeat from '''6a '''for each additional frame<br />
 +
  <span style="font-size:80%; line-height:1em;"><span style="color:gray">If you want to check the frames you already bookmarked, hit <span style="color:navy">F2</span>/<span style="color:navy">Shift+F2</span> to browse through your bookmarks</span></span></li></ol></li>
  
===[http://www.videolan.org/vlc/ VLC Player]===
+
<li>Export screenshots
:This is a portable, open source, standalone player which is still generally not recommended by BakaBT community unless it's a last resort.
+
<ol style="list-style-type:lower-latin;">
It doesn't need to be tweaked, and the latest build can display some degree of styled subs properly.
+
  <li>Once you're done deciding on frames to screenshot (10-15 is a good number), it's time to export them to PNG.<br />
Screenshots are taken with Shift+S and they are taken in display aspect ratio for anamorphic videos as well.
+
  Go to ''Macros > Save image sequence'' (make sure ''Select frames'' is set to "Bookmarks" and ''Output format'' to "*.png")</li>
 +
  <li>Pick an output directory and basename.<br />
 +
  I recommend using the basename format <tt>%06d_Groupname</tt>. This way your screenshots will (almost) always sort to comparison-friendly order by default. <tt>%06d</tt> inserts the current frame number, so make sure ''Add the frame number as suffix'' is unchecked when using it.<br />
 +
:::<span style="color:gray; font-size:80%; line-height:1em;">Example of Directory+Basename: Z:\ScreenCompare\Out\%06d_Zurako
 +
  You may also want want to check the ''Use always this directory'' option since you need to run this macro for each release seperately.</span></li>
 +
  <li>Click <span style="color:navy">OK</span>. You'll get a confirmation once the export is done.</li>
 +
  <li>Repeat from step '''7a''' for every open tab/release</li>
 +
  </ol>
 +
</li></ol>
 +
 
 +
===<span style="color:gray;">Taking screenshots with subtitles/typesetting</span>===
 +
To come
 +
 
 +
===<span style="color:gray;">Using the extraction script</span>===
 +
To come
 +
 
 +
==<span style="color:green;">MPC-HC + madVr</span>==
 +
To come
 +
 
 +
==<span style="color:green;">mpv</span>==
 +
To come
  
 
=Hosting Images=
 
=Hosting Images=
 
 
You probably want to use [http://bakashots.me/ our image server].  If for some reason that doesn't suit you, take a look at these other options:
 
You probably want to use [http://bakashots.me/ our image server].  If for some reason that doesn't suit you, take a look at these other options:
  
Line 56: Line 240:
  
 
=Adding Screenshots=
 
=Adding Screenshots=
 +
Adding these tags will not do anything to your description, instead it will add screenshots just below your description using a lightbox viewer for easy viewing. If using HTML code, screenshot tags may be placed inside or outside the <tt><html></tt> tags, there is no difference in parsing either way.
  
Adding these tags will not do anything to your description, instead it will add screenshots just below your description using a lightbox viewer for easy viewing. If using HTML code, screenshot tags may be placed inside or outside the <html></html> tags, there is no difference in parsing either way.
+
[screenshot]screenshot code goes here[/screenshot]
 +
:Inserts screenshot thumbnails below the description. Thumbnails are resized to 150 pixels in width by default.
  
  '''[screenshot]screenshot code goes here[/screenshot]'''
+
  [screenshot=200]screenshot code goes here[/screenshot]
:Inserts screenshot thumbnails below the description. Thumbnails are resized to 150 pixels in width by default.
 
'''[screenshot=200]screenshot code goes here[/screenshot]'''
 
 
:Inserts screenshot thumbnails 200 pixels wide below the description. Change 200 to the pixel width of your screenshot thumbnails as necessary.
 
:Inserts screenshot thumbnails 200 pixels wide below the description. Change 200 to the pixel width of your screenshot thumbnails as necessary.
  
 
You can add more than one block of screenshots, possibly with different size thumbnails.
 
You can add more than one block of screenshots, possibly with different size thumbnails.
  
  '''[img]link to image[/img]'''
+
  [img]link to image[/img]
 
:Will add one image. You can add as many as you like.
 
:Will add one image. You can add as many as you like.
  '''[url=link to image][img]link to thumbnail[/img][/url]'''
+
 
 +
  [url=link to image][img]link to thumbnail[/img][/url]
 
:Allows you to explicitly define your own thumbnail images. If no thumbnail image is supplied it will use the linked image and resize it to whatever width is supplied for the thumbnail.
 
:Allows you to explicitly define your own thumbnail images. If no thumbnail image is supplied it will use the linked image and resize it to whatever width is supplied for the thumbnail.
  

Revision as of 21:28, 4 July 2013

This article is aimed at providing useful information regarding adding screenshots to your description and the software used.

Adding screenshots to your description is necessary, as it's meant to preview the video and subtitle quality for the torrent. For that reason when taking screenshots they must be in source resolution, PNG (lossless) format, unless the video is anamorphic in which case they need to be in display resolution.

r2 - 2013-07-04

Taking Screenshots

  1. Recommended: AvsPmod (& AviSynth, Dither)
    Most flexible solution, but requires a few steps to set up.
    • + using Firesledge's script provided in this thread pretty much guarantees the screenshots to be the most faithful representation of the source
    • + high quality scaling for comparing releases with different frame dimensions
    • + AvsPmod provides efficient and convenient ways to compare multiple releases and batch export screenshots
    • - rendering subtitles requires them to be demuxed from the release
  2. Good: MPC-HC + madVr
    Easy to set up solution that doubles as THE high quality video playback solution on Windows, but not as convenient as method #1
    • + video quality on par with the AviSynth method
    • + easy to set up (install CCCP) and use (like a media player), doesn't require any demuxing or indexing
    • - does not supporting scaled screenshots for comparing releases with different frame dimensions
    • - not as well suited (or intended) as AvsPmod for more extensive comparisons, comparing releases side-by-side possible but cumbersome
  3. Good: mpv (opengl-hq)
    Cross-platform solution also available on Mac OS X and Linux, not as convenient as method #1
    • + easy to set up and use if you're familar with the command line
    • + access to advanced configuration options and quite powerful video filters for a video player
    • - video quality very slightly inferior to methods #1 and #2
    • - not as well suited (or intended) as AvsPmod for more extensive comparisons, comparing releases side-by-side possible but cumbersome
  4. Avoid: MPC-HC + EVR CP
    Default setup when installing CCCP or MPC-HC/BE.
    •  ! not a fault of EVR in and by itself, but an all too common error source: uses video "enhancement" features of your video card driver which actually destroys the video (and your screenshots) in several ways, including but not limited to:
      • fucking up colors,
      • adding ugly sharpening,
      • creating sugoi banding, and
      • other artifacts.
    If you absolutely have to use the EVR renderer for taking screenshots, make sure all video enhancement options of your graphics card driver are turned off
    • - possible pixel shift to the left (tested on recent NVidia drivers)
    • - slightly inferior video quality compared to madVr (defaults to bilinear chroma upscaling, random dithering using lav video decoder)
  5. Do not EVER use: VLC
    Atrocious video player with terrible video quality
    • - uses wrong matrix for RGB conversion (results in wrong colors)
    • - uses point upscaling for chroma planes
    • - introduces strong banding
    • - all the other bugs (including some that haven't been fixed in years) make it equally unsuitable media player. Seriously, stop using VLC!
  6. Do not use until further notice: FFmpeg
    Versatile command line video/audio processing tool unsuitable for taking screenshots
    • - incorrectly uses BT.601 matrix for all content (results in wrong colors)
    • - colormatrix filter causes strong banding
    • - uses point upscaling for chroma planes and ordered dithering (low video quality)
    • - not practical doing screenshot comparisons (as a standalone tool), doesn't seem to be able to take frame numbers as seek points

AvsPmod

Required Components

Software Version
AviSynth 2.6a4 Download
AvsPmod 2.5.1 Download
FFMS2 r743 (10bithack) Download
Dither Avisynth Tools 1.22.1 Download
Masktools 2.0a48 for 2.6a4 (06_taro) Download
xy-vsfilter 3.0.0.214 Download
FFInfoEx r1 Download

This tutorial also assumes you're running a fully updated Windows 7/8 machine with all recent VC++ distributables, .net Frameworks and whatnot. Things probably also work on Vista/XP and you might even get them to run with Wine on Linux, but you're on your own.</li>

Setting thing up the environment

  1. Install AviSynth
  2. Open your AviSynth plugins directory in Explorer
    Unless you changed the the AviSynth install location, your plugins directory should be
    (enter these into your explorer location bar):
    • [On 64-bit Windows] %ProgramFiles(x86)%\AviSynth 2.5\plugins
    • [On 32-bit Windows] %ProgramFiles%\AviSynth 2.5\plugins
    There should be only 3 files inside the directory: colors_rgb.avsi, DirectShowSource.dll, TCPDeliver.dll
  3. Open the Dither Avisynth Tools archive (dither-1.22.1.zip) and unpack the following files to your AviSynth plugin directory:
    • avstp.dll
    • dither.avsi
    • dither.dll
    • mt_xxpand_multi.avsi
    The docs folder inside the archive contains detailed documentation on the dither tools, so you might want to extract this to your AviSynth Docs directory or anywhere else you'll find it in case you need it later
  4. Open the downloaded ffms2 archive and extract the contents into your Avisynth plugin directory
    • ffms2.dll
    • ffmsindex.exe
  5. Open the downloaded masktools archive and extract mt_masktools-26.dll to your AviSynth plugin directory
  6. Open the downloaded AvsPmod archive and extract the AvsPmod folder to:
    • On 64-bit Windows: %ProgramFiles(x86)%
    • On 32-bit Windows: %ProgramFiles%
    Create a shortcut to avspmod.exe, or pin it to the taskbar/start menu
  7. Copy the downloaded VSFilter.dll and FFInfoEx.avsi to your Avisynth plugin directory

Getting started with screenshot comparisons

  1. Start AvsPmod and open the settings dialog (Options > Program settings)
    1. On the User Sliders tab check Hide slider window by default (The slider window usually only gets in the way)
    2. If you are using more than one screen, it's usually wise to check the Seperate preview window option, so you can have one screen dedicated to the video and one to the script
    3. On the Misc tab, uncheck the Show warning for bad plugin naming at startup option
  2. Go to Options > Snippets and click on Insert. Insert the following script template as snippet and give it a tag you will remember
    (Script by Firesledge with a few additions)
  3. vidfile="VIDEOFILE"
    subfile=""
    
    c1  = FFVideoSource (vidfile, enable10bithack=false)
    c2  = FFVideoSource (vidfile, enable10bithack=true, varprefix="c1_")
    w   = c1.Width ()
    h   = c1.Height ()
    wm4 = (w + 3) / 4 * 4
    hm4 = (h + 3) / 4 * 4
    b10 = (c2.Height () > c1.Height ())
    
    target_width = w
    target_height = h
    display_timecode = false
    
    matrix   = (c1_FFCOLOR_SPACE == 1) ? "709"
    \        : (c1_FFCOLOR_SPACE >= 5) ? "601" : Dither_undef ()
    par      = (c1_FFSAR_NUM > 0 && c1_FFSAR_DEN > 0)
    \        ? Float (c1_FFSAR_NUM) / Float (c1_FFSAR_DEN)
    \        : Dither_undef ()
    tv_range = (c1_FFCOLOR_RANGE != 2)
    
    (b10) ? c2 : c1
    (VersionNumber () >= 2.6) ? last
    \ : (b10) ? Dither_addborders16 (0, 0, wm4 - w, hm4 - h)
    \         : AddBorders (0, 0, wm4 - w, hm4 - h)
    
    (target_width != c1.Width() || target_height != c1.Height()) ? Dither_srgb_display (lsb_in=b10, matrix=matrix, par=par, tv_range=tv_range, w=target_width, h=target_height)
    \ :                                                            Dither_srgb_display (lsb_in=b10, matrix=matrix, par=par, tv_range=tv_range)
    
    (StrLen(subfile) > 0)  ? TextSub(subfile) : nop()
    
    FFInfoEx(vfrtime=display_timecode, cfrtime=false, frametype=false, x=last.width-6, y=4, cmt="GROUPNAME", align=9, shorttime=true)
    

  4. Now that you're all set, let's load the videos to compare.
    1. Click into the empty script window and hit F7 to get a list of your snippets. Since there's only the one snipped you just created, hit TAB to insert it
    2. Replace VIDEOFILE in the first line with the full path to an episode of the first release you want to compare and GROUPNAME in the last line with the appropriate group tag
    3. Hit F5 to load (or refresh) the video. Loading a file for the first time might take a few seconds, since the file is being indexed first.
    4. Save the script
    5. Hit Ctrl+N or double click next to the current tab to open a new script tab
    6. Repeat from Step 3a
  5. Syncing up the releases (easymode)
    1. Check if the video of all releases matches up, by going through them with Alt+1, Alt+2, Alt+3, ...
      The best way to do is is to seek to the last frame before a scene change, check if it matches up across tabs, then seek to the next frame and check again
      (Seek by using the arrow keys (left/right: 1 frame; up/down: 1 second) or clicking the timeline for larger time distances)

      Note: You may find out that not all subsequent frames match up or worse, the releases running out of sync over time. If it's only single frames, just avoid using them for screenshots. In case of releases running out of sync, you're dealing with either missing sections or different frame rates. Refer to the [Advanced Tutorial TBD] on how to deal with those cases.
    2. Once all releases you want to compare are in sync, right click their tabs and add them to a single group. Make sure the Apply offsets option is checked
      AvsPmod will now remember the frame offsets between tabs and automatically seek to the right frames on a shared timeline.
    1. To reasonably compare screenshots, we need all frame sizes to be of the same resolution. You should have noticed any differences already while syncing up the releases.
      If all resolutions match, skip this step. If they don't, find out the highest resolution by looking at the bottom right of the status bar.
      The information will be in the following format: FrameWidth x FrameHeight (AspectRatio) - Framerate fps - Colorspace
    2. Take the largest width and height among the releases and find the following section in the scripts for all releases that need to be resized:
      target_width = w
      target_height = h
      Replace w with the largest FrameWidth and h with the largest FrameHeight
    3. Hit F5 to refresh the video preview and confirm everything works as expected.
  6. Select frames for the screenshot comparison
    1. Find a frame suitable to convey significant information about an aspect of video quality.
      Pick:
      • one or two frames of a structure that represents what is on the screen most of the episode (to give a general idea about the video quality)
      • frames from dark scenes
      • high-detail frames / frames with fine structures
      • frames with low contrast
      • frames from high-motion scenes
      • a frame or two from a fade-in/fade-out
      • frames that display video artifacts in one ore more releases (refer to this thread on how to spot and identify video artifacts)
      • at least one frame from the OP and one frame from the ED
      Try to get as many B-Frames as possible. Ideally you'd want matching frame types across the different releases.
      In practice checking this gets more of a waste of time with each additional release you have to compare. Just try to keep the number of B-to-I comparisons low and make sure you don't pick only B-Frames for one release and only P-Frames for the other.
      A very easy way to avoid this issue is to not pick frames by only looking at one release. This comes with the added benefit of you being more likely to spot video artifacts in ALL releases.
      (Check the overlay on the top right of the video frame to find the frame type of the current frame.)
    2. Once you've decided on a frame, hit Ctrl+B to bookmark it.
    3. Repeat from 6a for each additional frame
      If you want to check the frames you already bookmarked, hit F2/Shift+F2 to browse through your bookmarks
  7. Export screenshots
    1. Once you're done deciding on frames to screenshot (10-15 is a good number), it's time to export them to PNG.
      Go to Macros > Save image sequence (make sure Select frames is set to "Bookmarks" and Output format to "*.png")
    2. Pick an output directory and basename.
      I recommend using the basename format %06d_Groupname. This way your screenshots will (almost) always sort to comparison-friendly order by default. %06d inserts the current frame number, so make sure Add the frame number as suffix is unchecked when using it.
      Example of Directory+Basename: Z:\ScreenCompare\Out\%06d_Zurako
      You may also want want to check the Use always this directory option since you need to run this macro for each release seperately.
    3. Click OK. You'll get a confirmation once the export is done.
    4. Repeat from step 7a for every open tab/release

Taking screenshots with subtitles/typesetting

To come

Using the extraction script

To come

MPC-HC + madVr

To come

mpv

To come

Hosting Images

You probably want to use our image server. If for some reason that doesn't suit you, take a look at these other options:

Site Registration Required Maximum Image Size Bandwidth Limit Comments
Min.us No 7 MB Unlimited
PhotoBucket Yes 5 MB 10 GB/month
SadPanda.us No  ? Unlimited Operated by the staff of Gelbooru.
TinyPic No  ?  ?

Image Hosts You Shouldn't Use

  • ImageShack - Resizes and degrades image quality after an unknown amount of time. Still useful to temporarily upload images to before transferring them to BakaSHOTS.
  • Imgur - According to their "Terms of Service" hotlinking to torrent sites is prohibited.

Adding Screenshots

Adding these tags will not do anything to your description, instead it will add screenshots just below your description using a lightbox viewer for easy viewing. If using HTML code, screenshot tags may be placed inside or outside the <html> tags, there is no difference in parsing either way.

[screenshot]screenshot code goes here[/screenshot]
Inserts screenshot thumbnails below the description. Thumbnails are resized to 150 pixels in width by default.
[screenshot=200]screenshot code goes here[/screenshot]
Inserts screenshot thumbnails 200 pixels wide below the description. Change 200 to the pixel width of your screenshot thumbnails as necessary.

You can add more than one block of screenshots, possibly with different size thumbnails.

[img]link to image[/img]
Will add one image. You can add as many as you like.
[url=link to image][img]link to thumbnail[/img][/url]
Allows you to explicitly define your own thumbnail images. If no thumbnail image is supplied it will use the linked image and resize it to whatever width is supplied for the thumbnail.

NOTE: Screenshots will not show up in the Sandbox; you have to go to the torrent description page in order to view them.

If thumbnail images are not used, the big images are loaded first, then resized to thumbnail-size on your screen. This makes image-loading really slow, and also make scrolling laggy, so as far as possible supply thumbnail images or use an image-host that auto-generates them.

BakaSHOTS Images

For details on how to insert images hosted on BakaSHOTS into descriptions, please see here: BBCode#BakaSHOTS.