File: CastleVideos.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (163 lines) | stat: -rw-r--r-- 8,605 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleVideos</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<h1 class="unit">Unit CastleVideos</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Uses">Uses</a></td><td><a class="section" href="#PasDoc-Classes">Classes, Interfaces, Objects and Records</a></td><td><a class="section" href="#PasDoc-FuncsProcs">Functions and Procedures</a></td><td>Types</td><td><a class="section" href="#PasDoc-Constants">Constants</a></td><td><a class="section" href="#PasDoc-Variables">Variables</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="description">Description</h2>
<p>
Video (movie) data (<a class="normal" href="CastleVideos.TVideo.html">TVideo</a> and helpers).</p>
<a name="PasDoc-Uses"></a><h2 class="uses">Uses</h2>
<ul class="useslist"><li>SysUtils</li><li><a  href="CastleImages.html">CastleImages</a></li><li>FGL</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Classes"></a><h3 class="cio">Classes, Interfaces, Objects and Records</h3>
<table class="classestable wide_list">
<tr class="listheader">
<th class="itemname">Name</th>
<th class="itemdesc">Description</th>
</tr>
<tr class="list">
<td class="itemname">Class&nbsp;<a class="bold" href="CastleVideos.EInvalidFadeFrames.html"><code>EInvalidFadeFrames</code></a></td>
<td class="itemdesc">&nbsp;</td>
</tr>
<tr class="list2">
<td class="itemname">Class&nbsp;<a class="bold" href="CastleVideos.TVideo.html"><code>TVideo</code></a></td>
<td class="itemdesc">Video.</td>
</tr>
<tr class="list">
<td class="itemname">Class&nbsp;<a class="bold" href="CastleVideos.TVideosCache.html"><code>TVideosCache</code></a></td>
<td class="itemdesc">A cache of loaded videos.</td>
</tr>
</table>
<a name="PasDoc-FuncsProcs"></a><h3 class="summary">Functions and Procedures</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code>function <b><a  href="CastleVideos.html#FfmpegVideoMimeType">FfmpegVideoMimeType</a></b>(const MimeType: string; const FfmpegOutput: boolean): boolean;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code>function <b><a  href="CastleVideos.html#FfmpegExecutable">FfmpegExecutable</a></b>(const ExceptionOnError: boolean): string;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code>procedure <b><a  href="CastleVideos.html#FfmpegExecute">FfmpegExecute</a></b>(const Executable: string; const Parameters: array of string);</code></td>
</tr>
</table>
<a name="PasDoc-Constants"></a><h3 class="summary">Constants</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a  href="CastleVideos.html#DefaultFramesPerSecond">DefaultFramesPerSecond</a></b> = 25.0;</code></td>
</tr>
</table>
<a name="PasDoc-Variables"></a><h3 class="summary">Variables</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a  href="CastleVideos.html#MaximumVideoLength">MaximumVideoLength</a></b>: Cardinal = 1 * 60 * 25;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a  href="CastleVideos.html#LogVideosCache">LogVideosCache</a></b>: boolean = false;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Functions and Procedures</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="FfmpegVideoMimeType"></a><code>function <b>FfmpegVideoMimeType</b>(const MimeType: string; const FfmpegOutput: boolean): boolean;</code></td>
</tr>
<tr><td colspan="1">
<p>
Does given MIME type looks like a video file extension that can be handled (encoded or decoded) by ffmpeg.

<p>FfmpegOutput = <code>True</code> means that you want to encode this video (use this as output of ffmpeg). FfmpegOutput = <code>False</code> means you want to decode the video, that is use this as an input to ffmpeg.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="FfmpegExecutable"></a><code>function <b>FfmpegExecutable</b>(const ExceptionOnError: boolean): string;</code></td>
</tr>
<tr><td colspan="1">
<p>
Returns full path to ffmpeg-compatible executable.

<p>When not found: </p>

<ul class="paragraph_spacing">
  <li><p>If ExceptionOnError then we raise an exception.</p></li>
  <li><p>If not ExceptionOnError then we simply return ''.</p></li>
</ul>

<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="FfmpegExecute"></a><code>procedure <b>FfmpegExecute</b>(const Executable: string; const Parameters: array of string);</code></td>
</tr>
<tr><td colspan="1">
<p>
Execute ffmpeg. 1st parameter must not be ''. It should usually be calculated by <a class="normal" href="CastleVideos.html#FfmpegExecutable">FfmpegExecutable</a>.</p>
</td></tr>
</table>
<h3 class="detail">Constants</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="DefaultFramesPerSecond"></a><code><b>DefaultFramesPerSecond</b> = 25.0;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<h3 class="detail">Variables</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="MaximumVideoLength"></a><code><b>MaximumVideoLength</b>: Cardinal = 1 * 60 * 25;</code></td>
</tr>
<tr><td colspan="1">
<p>
Maximum number of video frames to read, for <a class="normal" href="CastleVideos.TVideo.html#LoadFromFile">TVideo.LoadFromFile</a>.

<p>This prevents using up all the memory by accidentaly trying to read a long movie. Remember that our current implementation is <b>not</b> suited for long movies, it will load very slowly and consume a lot of memory. See <a  href="http://castle-engine.sourceforge.net/x3d_implementation_texturing.php">http://castle-engine.sourceforge.net/x3d_implementation_texturing.php</a> notes about MovieTexture.

<p>By default this is equal to 1 minute, for 25 frames-per-second movie. Even this can eat 2 GB for 640 x 350 resolution.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="LogVideosCache"></a><code><b>LogVideosCache</b>: boolean = false;</code></td>
</tr>
<tr><td colspan="1">
<p>
Log video cache events. Allows to see how the cache performs, and also how long it takes to load videos (useful, as some videos may be already lengthy).

<p>Meaningful only if you initialized log (see <a class="normal" href="CastleLog.html">CastleLog</a> unit) by <a class="normal" href="CastleLog.html#InitializeLog">InitializeLog</a> first.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "1"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&amp;rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:13</em>
</span>
</td></tr></table></body></html>