A (175)

(Tuis.) #1

422 CHAPTER 11: Digital Video: Streaming Video, MediaPlayer, and MediaController classes


20 FPS. You might even be able to use a low 15 FPS frame rate, depending upon your content. Note
that 15 FPS is half as much data as 30 FPS, or a 100% reduction in data going into the encoder. For
some video content, this will playback (look) the same as 30 FPS content; the only reliable way to
test how low you can get the frame rate before you start to affect video playback quality is to set,
encode and review with these standard video framerate settings during the content optimization
(final video asset encoding) work process.


The next most optimal setting to tweak (experiment with settings for) in obtaining a smaller data
footprint will be the bitrate that you set for a codec to try and achieve. Bitrate settings equate to an
amount of compression applied, and thus sets the visual quality for video data. It is important to
note that you could simply use 30 FPS, HD 1920x1080 video and specify a low bitrate ceiling. If you
do this, the results would not look as good as if you first experimented with lower frame rates and
resolutions using the higher (quality) bitrate settings.


The next most effective setting in obtaining a small data footprint is the number of keyframes. The
codec uses your keyframe settings to know when to sample the digital video. Video codecs apply
compression by looking at a frame, and then encoding only the changes, or offsets, over the next
few frames, so that it does not have to encode every single frame in your video data stream. This is
why a talking-head video will encode better than a video where every pixel moves on every frame,
such as video with fast panning, or rapid zooming, for instance.


The keyframe setting in the encoder will force the codec to take a fresh frame sample of a video
data asset every so often. There is usually an auto setting for keyframes; this allows the codec to
decide how many keyframes to sample. There is also a manual setting which allows you to specify
a keyframe sampling every so often, usually a certain number of times per second, or a certain
number of times over the duration of the video (total frames). The more keyframes the codec needs
to sample (and store in the file) the larger the resulting file size will be.


The next most effective setting in obtaining a small data footprint is the quality or sharpness
setting, which is usually implemented using a slider. Sharpness controls the amount of blur that
the codec will apply to the video pixels before compression. In case you are wondering how this
trick works, so that you can apply it yourself in GIMP during your own digital image optimization
work process, applying a slight blur to your image or video, which is usually not desirable, can
allow for better JPEG compression. The reason for this is that a sharp transition in an image, such
as sharp edges between colors, are more difficult for the codec to encode optimally (that is, using
less data). More precisely (no pun intended), sharp or abrupt transitions in color will take more data
to reproduce than soft transitions will. I would recommend keeping the quality or sharpness slider
between an 80% and 100% quality setting, and try to get your data footprint reduction using the
other variables that we have discussed here.


Ultimately, there are a significant number of different variables that you’ll need to fine-tune in order
to achieve the best data footprint optimization for each particular video data asset. Each video asset
will be different (mathematically) to the codec, as each video asset is a different array or collection
of pixel color data. For this reason, there is no “standard” collection of settings you can develop to
achieve any given result. Your experience tweaking various settings will eventually allow you to get
a better feel, over time, as to the settings you need to change as far as all the parameters go, to get
your desired result with different types of uncompressed video source assets.

Free download pdf