summaryrefslogtreecommitdiffstats
path: root/doc/src/videooverview.qdoc
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-04 14:56:31 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-23 02:49:52 +0100
commit5ec608b0060b3c9e077eca379ab0f660e31436ab (patch)
tree2f28db4d9250ee246670bdbb78d68b3016fcc25c /doc/src/videooverview.qdoc
parent0889d69790a1b723e9995fa6bdc61d825baf39ff (diff)
Update documentation.
Rewrite the module overview, add video and audio overviews, and update the camera overview. Tweak the radiooverview slightly. Still missing some links for examples and some fleshing out but hopefully a lot better. Change-Id: Id6486e20ba4a09c36d7739e327d4f9910ad083a5 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'doc/src/videooverview.qdoc')
-rw-r--r--doc/src/videooverview.qdoc124
1 files changed, 124 insertions, 0 deletions
diff --git a/doc/src/videooverview.qdoc b/doc/src/videooverview.qdoc
new file mode 100644
index 000000000..b45fa0d5c
--- /dev/null
+++ b/doc/src/videooverview.qdoc
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+
+\page videooverview.html
+\title Video Overview
+\brief Video playback
+
+\section1 Video Features
+
+Qt Multimedia offers both high and low level C++ classes for playing and
+manipulating video data, and QML elements for playback and control. Some
+of these classes also overlap with both \l {Camera Overview}{camera} and
+\l {Audio Overview}{audio} classes, which can be useful.
+
+\section1 Video Implementation Details
+
+\target multimedia-playing-video
+\section2 Playing video in C++
+
+You can use the \l QMediaPlayer class to decode a video file, and display
+it using \l QVideoWidget, \l QGraphicsVideoItem, or a custom class.
+
+Here's an example of using QVideoWidget:
+ \snippet doc/src/snippets/multimedia-snippets/video.cpp Video widget
+
+And an example with QGraphicsVideoItem:
+ \snippet doc/src/snippets/multimedia-snippets/video.cpp Video graphics item
+
+\section2 Playing video in QML
+
+You can use the \l VideoOutput QML element to render content that is
+provided by either a \l MediaPlayer element or a \l Camera element.
+The VideoOutput element is a visual element that can be transformed
+or acted upon by shaders (as the \l {qmlvideofx} example shows), while
+all media decoding and playback control is handled by the MediaPlayer
+element.
+
+Alternatively there is also a higher level \l Video element that
+acts as a single, visual element to play video and control playback.
+
+\section2 Working with low level video frames
+
+Qt Multimedia offers a number of low level classes to make handling
+video frames a bit easier. These classes are primarily used when
+writing code that processes video or camera frames (for example,
+detecting barcodes, or applying a fancy vignette effect), or needs
+to display video in a special way that is otherwise unsupported.
+
+The \l QVideoFrame class encapsulates a video frame and allows the
+contents to be mapped into system memory for manipulation or
+processing, while deriving a class from \l QAbstractVideoSurface
+allows you to receive these frames from \l QMediaPlayer and
+\l QCamera. Several of the built in Qt classes offer this functionality
+as well, so if you decode video in your application, you can present
+it to classes that offer a \l QVideoRendererControl class, and in QML
+you can set a custom object for the source of the \l VideoOutput element
+with either a writable \c videoSurface property (that the element will
+set it's internal video surface to) or a readable \c mediaObject property
+with a QMediaObject derived class that implements the \l QVideoRendererControl
+interface.
+
+\section2 Recording video
+You can use the \l QMediaRecorder class in conjunction with other
+classes to record video to disk. Primarily this is used with
+the camera, so consult the \l {Camera Overview} for more information.
+
+\section1 Examples
+
+There are both C++ and QML examples available.
+
+C++ Examples:
+\list
+ \o \l video
+ \o \l videographicsitem
+ \o \l videowidget
+\endlist
+
+QML Examples:
+\list
+ \o \l qmlvideo
+ \o \l qmlvideofx
+\endlist
+
+\section1 Reference Documentation
+
+\section2 Video Classes
+
+\annotatedlist multimedia_video
+
+\section2 QML Elements
+
+\list
+ \o \l MediaPlayer
+ \o \l VideoOutput
+ \o \l Video
+\endlist
+
+*/