mirror of
https://github.com/wang-bin/QtAV.git
synced 2026-10-28 19:16:48 +08:00
267 lines
11 KiB
HTML
267 lines
11 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
<title>QtAV by wang-bin</title>
|
|
<link rel="stylesheet" href="stylesheets/styles.css">
|
|
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
|
|
<script src="javascripts/jquery-1.9.1.min.js"></script>
|
|
<script src="javascripts/respond.js"></script>
|
|
<!--[if lt IE 9]>
|
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<!--[if lt IE 8]>
|
|
<link rel="stylesheet" href="stylesheets/ie.css">
|
|
<![endif]-->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<script type="text/javascript">
|
|
if(!String.prototype.startsWith){
|
|
String.prototype.startsWith = function (str) {
|
|
return !this.indexOf(str);
|
|
}
|
|
}
|
|
var old = "http://wang-bin.github.io/QtAV";
|
|
if (location.href.startsWith(old)) {
|
|
var loc = location.href;
|
|
var suf = loc.substring(old.length, loc.length);
|
|
loc = "http://wang-bin.github.io/qtav.org" + suf;
|
|
window.location.replace(loc);
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="header">
|
|
<nav>
|
|
<li class="fork"><a href="https://github.com/wang-bin/QtAV">Fork On GitHub</a></li>
|
|
<!--
|
|
<li class="downloads"><a href="https://github.com/wang-bin/QtAV/zipball/master">ZIP</a></li>
|
|
<li class="downloads"><a href="https://github.com/wang-bin/QtAV/tarball/master">TAR</a></li>
|
|
-->
|
|
<li class="downloads"><a href="https://sourceforge.net/projects/qtav">Binary</a></li>
|
|
<li class="title">DOWNLOADS</li>
|
|
</nav>
|
|
</div><!-- end header -->
|
|
|
|
<div class="wrapper">
|
|
|
|
<section>
|
|
<div id="title">
|
|
<h1>QtAV</h1>
|
|
<p>A media playing framework based on Qt and FFmpeg. It helps you to write a player easily</p>
|
|
<p>基于Qt和FFmpeg的音视频播放框架</p>
|
|
<p id="license">Library license: LGPL v2.1 or later. Examples license: GPL v3</p>
|
|
<hr>
|
|
<span class="credits left">Project maintained by <a href="https://github.com/wang-bin">wang-bin</a></span>
|
|
<span class="credits right">Hosted on GitHub Pages — Theme by <a href="https://twitter.com/michigangraham">mattgraham</a></span>
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<ul id="gallery">
|
|
<li><img src="screenshots/QtAV-based-QMLPlater-on-OSX.jpg" alt="QtAV based QMLPlayer on OSX" title="QtAV based QMLPlayer on OSX"></li>
|
|
<li><img src="screenshots/QMLPlayer-on-OSX.jpg" alt="QtAV based QMLPlayer on OSX" title="QtAV based QMLPlayer on OSX"></li>
|
|
<li><img src="screenshots/player-OSX.jpg" alt="QtAV based Player on OSX" title="QtAV based Player on OSX"></li>
|
|
<li><img src="screenshots/videowall.png" alt="Video Wall" title="Video Wall"></li>
|
|
<li><img src="screenshots/QMLPlayer+QtAV-on-Ubuntu.jpg" alt="QtAV based QMLPlayer on Ubuntu" title="QtAV based QMLPlayer on Ubuntu"></li>
|
|
<li><img src="screenshots/QMLPlayer-on-Android.jpg" alt="QtAV based QMLPlayer on Android" title="QtAV based QMLPlayer on Android"></li>
|
|
<li><img src="screenshots/QtAV+qmlvideofx_on_Olinuxino+cedar+hardware+decoding.jpg" alt="QtAV based qmlvideofx on Olinuxino + CedarV" title="QtAV based qmlvideofx on Olinuxino + CedarV"></li>
|
|
<li><img src="screenshots/ip_camera.jpg" alt="IP camera + QtAV" title="IP camera + QtAV on Fedora 18"></li>
|
|
</ul>
|
|
<script src="javascripts/jquery.easing.1.3.min.js"></script>
|
|
<script src="javascripts/jquery.flowgallery.js"></script>
|
|
<script>
|
|
$(function() {
|
|
$('#gallery').flowgallery({
|
|
easing: 'easeOutCubic',
|
|
//imagePadding: 6,
|
|
//thumbWidth: 120,
|
|
forceWidth: 580,
|
|
forceHeight: 380
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
<hr>
|
|
<script>
|
|
|
|
//https://developers.google.com/youtube/player_parameters#IFrame_Player_API
|
|
// Load the IFrame Player API code asynchronously.
|
|
var tag = document.createElement('script');
|
|
tag.id = "ytjs";
|
|
tag.src = "https://www.youtube.com/player_api";
|
|
var firstScriptTag = document.getElementsByTagName('script')[0];
|
|
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
|
|
|
// Replace the 'ytplayer' element with an <iframe> and
|
|
// YouTube player after the API code downloads.
|
|
var player;
|
|
function onYouTubePlayerAPIReady() {
|
|
player = new YT.Player('ytplayer', {
|
|
height: '390',
|
|
width: '640',
|
|
videoId: 'u3mvDe3GBPI'
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
<h1>
|
|
<a name="for-developers" class="anchor" href="#for-developers"><span class="octicon octicon-link"></span></a>For Developers</h1>
|
|
|
|
<p>Wrtie a media player using QtAV is quite easy. QtAV provide both Qt C++ and QML api. <strong>QML</strong> playback API is designed to compatible with QtMultiMedia</p>
|
|
<p>For more detail to using QtAV, see the wiki <a href="https://github.com/wang-bin/QtAV/wiki/Use-QtAV-In-Your-Projects">Use QtAV In Your Project</a> and <a href="https://github.com/wang-bin/QtAV/tree/master/examples">examples</a></p>
|
|
<p>Minimal player example</p>
|
|
|
|
<table style="width:100%">
|
|
<tr>
|
|
<td>C++</td>
|
|
<td>QML</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
|
|
<pre><code>WidgetRenderer renderer;
|
|
renderer.show();
|
|
AVPlayer player;
|
|
player.setRenderer(&renderer);
|
|
player.play("test.avi");
|
|
</code></pre>
|
|
|
|
</td>
|
|
<td>
|
|
<pre><code>import QtQuick 2.0
|
|
import QtAV 1.3
|
|
Item {
|
|
VideoOut {
|
|
anchors.fill: parent
|
|
source: player
|
|
}
|
|
AVPlayer { //or MediaPlayer
|
|
id: player
|
|
source: "test.mp4"
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: player.play()
|
|
}
|
|
}
|
|
</code></pre>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<div id="features">
|
|
<h1>Features</h1>
|
|
|
|
<style type="text/css">
|
|
#features img {
|
|
max-width: 280px;
|
|
max-height: 120px;
|
|
|
|
}
|
|
</style>
|
|
<a href="http://qt-project.org/downloads"><img src="http://qt-project.org/images/qt13a/Qt-logo.png" alt="Qt" title="Qt4, 5"></a>
|
|
<a href="http://ffmpeg.org"><img src="http://ffmpeg.org/ffmpeg-logo.png" alt="FFmpeg" title="FFmpeg >= 0.9"></a>
|
|
<a href="http://libav.org"><img src="http://libav.org/libav-logo-text.png" alt="Libav"></a>
|
|
<img src="http://upload.wikimedia.org/wikipedia/en/8/8a/OpenGL_logo.jpg" alt="OpenGL" title="OpenGL/ES">
|
|
<img src="http://upload.wikimedia.org/wikipedia/en/9/9f/OpenGL_ES_logo.png" alt="OpenGL ES">
|
|
<img src="http://upload.wikimedia.org/wikipedia/zh/2/28/OpenAL_logo.png" alt="OpenAL">
|
|
<a href="http://www.portaudio.com/download.html"><img src="http://www.portaudio.com/images/portaudio_logotext.png" alt="PortAudio" title="PortAudio v19"></a>
|
|
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7f/Microsoft-DirectX-Logo-wordmark.svg/220px-Microsoft-DirectX-Logo-wordmark.svg.png" alt="DirectX">
|
|
</div>
|
|
|
|
<hr>
|
|
<div id="platforms">
|
|
<h1>Platforms</h1>
|
|
Windows, Linux, Mac OSX, Android, iOS, MeeGo, COS
|
|
|
|
<div id="ytplayer">
|
|
<h3>Video: QtAV based qmlvideofx with CedarV hardware decoding</h3>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="todo">
|
|
<h1><a href="https://github.com/wang-bin/QtAV/wiki/TODO">TODO</a></h>
|
|
</div>
|
|
|
|
<div id="donate">
|
|
<hr><h1>
|
|
<a name="donate-%E8%B5%84%E5%8A%A9" class="anchor" href="#donate-%E8%B5%84%E5%8A%A9"><span class="octicon octicon-link"></span></a><a href="https://sourceforge.net/p/qtav/wiki/Donate%20%E6%8D%90%E8%B5%A0">Donate 资助</a>
|
|
</h1>
|
|
|
|
<script type="text/javascript" src="http://www.ohloh.net/p/678754/widgets/project_cocomo.js"></script>
|
|
|
|
<div>
|
|
<ul>
|
|
软件几乎由我一人利用空余学习和工作时间开发。如果您觉得不错,可以考虑资助一下。
|
|
<li>可用于购买硬件设备使QtAV更好的支持各种硬件,如AMD显卡,pi</li>
|
|
<li>iOS设备的开发环境</li>
|
|
</ul>
|
|
<ul>
|
|
This software is almost developed by myself. If you find the program useful and would like to support my efforts, please consider donating what you think the program is worth.
|
|
Donations are used solely for purchasing hardware to improve and extend QtAV.
|
|
<li>AMD graphics card</li>
|
|
<li>iOS development environment</li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div>
|
|
<a href="https://www.gittip.com/wang-bin"><img src="https://rawgithub.com/twolfson/gittip-badge/0.1.0/dist/gittip.png" alt="Support via Gittip"></a>
|
|
</div>
|
|
<div>
|
|
<p><a href="https://me.alipay.com/lucaswang"><img src="https://img.alipay.com/sys/personalprod/style/mc/btn-index.png" alt="Alipay"></a></p>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<img width="50" height="35" src="https://www.paypalobjects.com/webstatic/mktg/logo/pp_cc_mark_37x23.jpg" alt="PayPal"></img><img src="http://upload.wikimedia.org/wikipedia/foundation/7/78/Credit_cards.png" alt="Visa, MasterCard, Discover, American Express, eCheck"></img>
|
|
</div>
|
|
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
|
<input type="hidden" name="cmd" value="_xclick">
|
|
<input type="hidden" name="business" value="06122952wb@163.com">
|
|
<input type="hidden" name="no_shipping" value="1">
|
|
<input type="hidden" name="item_name" value="Donation for QtAV">
|
|
<input type="text" name="amount" value="8.00" onkeyup="if(!/^\d*.?\d{0,2}$/.test(this.value))this.value=this.value.replace(/[^\d.]/g,'').replace(/(^\d*.?\d{0,2}).*/g,'$1')">
|
|
<select name="currency_code">
|
|
<option value="USD" selected="selected">$ (USD)</option>
|
|
<option value="EUR">€ (EUR)</option>
|
|
<option value="HKD">$ (HKD)</option>
|
|
<option value="GBP">£ (GBP)</option>
|
|
<option value="CAD">$ (CAD)</option>
|
|
<option value="AUD">$ (AUD)</option>
|
|
<option value="JPY">¥ (JPY)</option>
|
|
</select>
|
|
<input type="image" src="http://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="Make payments with PayPal - it is fast, free and secure!">
|
|
<input type="image" src="http://www.paypal.com/zh_CN/i/btn/btn_donate_LG.gif" name="submit" alt="Make payments with PayPal - it is fast, free and secure!">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<div id="clustrmaps-widget"></div><script type="text/javascript">var _clustrmaps = {'url' : 'http://wang-bin.github.io/QtAV', 'user' : 1135716, 'server' : '2', 'id' : 'clustrmaps-widget', 'version' : 1, 'date' : '2014-03-12', 'lang' : 'zh', 'corners' : 'square' };(function (){ var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'http://www2.clustrmaps.com/counter/map.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);})();</script><noscript><a href="http://www2.clustrmaps.com/user/116115464"><img src="http://www2.clustrmaps.com/stats/maps-no_clusters/wang-bin.github.io-QtAV-thumb.jpg" alt="Locations of visitors to this page" /></a></noscript>
|
|
|
|
|
|
<hr><blockquote>
|
|
<p>Copyright © Wang Bin <a href="mailto:wbsecg1@gmail.com">wbsecg1@gmail.com</a></p>
|
|
|
|
<p>Shanghai University->S3 Graphics, Shanghai, China</p>
|
|
|
|
<p>2012~2014</p>
|
|
</blockquote>
|
|
</section>
|
|
|
|
</div>
|
|
<!--[if !IE]><script>fixScale(document);</script><![endif]-->
|
|
|
|
</body>
|
|
</html>
|