??xml version="1.0" encoding="utf-8" standalone="yes"?>91精品国产一区二区三区香蕉,欧美综合在线观看,亚洲精品久久久久久久久久久久久http://www.aygfsteel.com/xiaomage234/category/34728.html生命本就是一ơ凄的漂流Q记忆中放不下的Q永q是孩提时代的那一份浪漫与U真Q?/description>zh-cnThu, 26 Nov 2020 20:26:06 GMTThu, 26 Nov 2020 20:26:06 GMT60基带、射频,到底是干什么用的?http://www.aygfsteel.com/xiaomage234/archive/2020/11/24/435733.html马?/dc:creator>马?/author>Tue, 24 Nov 2020 02:41:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2020/11/24/435733.htmlhttp://www.aygfsteel.com/xiaomage234/comments/435733.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2020/11/24/435733.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/435733.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/435733.html阅读全文

]]>
20+ 个免费和高?Web 视频播放?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2011/12/16/366523.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Fri, 16 Dec 2011 06:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2011/12/16/366523.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/366523.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2011/12/16/366523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/366523.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/366523.html</trackback:ping><description><![CDATA[<div><span style="font-family: Verdana, Simsun, sans-serif; font-size: 13px; line-height: normal; "><div class="wmqeeuq" id="OSChina_News_23953" textcontent="" newstype2"="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #000000; font-size: 10.5pt; overflow-x: hidden; overflow-y: hidden; "><h2>免费视频播放?/h2><h3>Flowplayer – Flash Video Player for the Web</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68445"="" title="Video Players (1)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-1.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Video LightBox JS</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68446"="" title="Video Players (2)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-2.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>JW Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68447"="" title="Video Players (3)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-3.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Free flash flv/mp4 player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68448"="" title="Video Players (4)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-4.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>SublimeVideo – HTML5 Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68449"="" title="Video Players (5)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-5.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h2>高视频播放?/h2><h3>HTML5 Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68450"="" title="Video Players (6)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-6.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Vplayer – Video player with Gallery</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68451"="" title="Video Players (7)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-7.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Tejas – Premium HTML5 Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68452"="" title="Video Players (8)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-8.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>JQuery Html5 Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img wp-image-68453="" alignnone"="" title="Video Players (9)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-9.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>HTML5 Video Gallery with Live Playlist</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68454"="" title="Video Players (10)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-10.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>MediaBox – jQuery Plugin for Audio & Video</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68455"="" title="Video Players (11)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-11.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Video Player Reflection Multi Skin Local / YouTube</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68457"="" title="Video Players (13)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-13.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Dynamic Flash Video Player (.flv & h.264)</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68458"="" title="Video Players (14)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-14.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Very Versatile Video Player (h.264, and flv)</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68459"="" title="Video Players (15)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-15.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Ultra XML Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68460"="" title="Video Players (16)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-16.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Clean White Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68461"="" title="Video Players (17)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-17.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Xml video player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68462"="" title="Video Players (18)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-18.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>AS3 Video Player</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68463"="" title="Video Players (19)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-19.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>Smart Video Player</h3><h3><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68464"="" title="Video Players (20)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-20.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></h3><h3>Fullscreen Video Player 03 AS2</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68465"="" title="Video Players (21)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-21.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><h3>New Video Player. Dynamic Movie Player FlashVars.</h3><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; "><a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; "><img size-full="" wp-image-68466"="" title="Video Players (22)" src="http://cdn.designmodo.com/wp-content/uploads/2011/11/Video-Players-22.jpg" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; max-width: 600px; " /></a></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 2em; ">via <a target="_blank" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; ">designmodo</a></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 0em; font-weight: bold; color: #aa0000; ">更多关于<a style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; ">FlowPlayer</a>的详l信息,或者下载地址L<a style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; ">q里</a></p></div><div style="padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 10px; margin-top: 20px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeffee; text-align: left; color: #666666; font-size: 10pt; line-height: 22px; border-left-width: 10px; border-left-style: solid; border-left-color: #ccffcc; background-position: initial initial; background-repeat: initial initial; ">本站文章除注明{载外Q均为本站原创或~译<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />Ƣ迎M形式的{载,但请务必注明出处Q尊重他人劳动共创开源社?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />转蝲h明:文章转蝲自:<strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">开源中国社?/strong> [<a style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #333333; outline-width: 0px; outline-style: initial; outline-color: initial; ">http://www.oschina.net</a>]<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />本文标题Q?0+ 个免费和高?Web 视频播放?br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />本文地址Q?a style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #333333; outline-width: 0px; outline-style: initial; outline-color: initial; ">http://www.oschina.net/news/23953/video-players</a></div></span></div><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/366523.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2011-12-16 14:23 <a href="http://www.aygfsteel.com/xiaomage234/archive/2011/12/16/366523.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FLV高清的两U方式FLV1和FLV4http://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251896.html马?/dc:creator>马?/author>Mon, 19 Jan 2009 06:51:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251896.htmlhttp://www.aygfsteel.com/xiaomage234/comments/251896.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251896.html#Feedback4http://www.aygfsteel.com/xiaomage234/comments/commentRss/251896.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/251896.html 现在国内L的MP4机器Q都宣称可以直接播放RMVB和FLV?我比较关心FLVQ就是YOUTUBE、土豆、优酷上的视频格式?

不过QFLV也分FLV1和FLV4二种格式。(二者的文g后缀名都是FLVQ但在电(sh)脑上用KMPLAYER播放ӞFLV4的文件会有提C)

FLV1主要在欧和中国的视频网站流行,特点是体U小Q在U播放流畅,但清晰度低?

而FLV4是近q在日、韩视频|站开始流行的新格式,特点是解析度普遍?00*300以上Q同{画面尺怸Q要比FLV1清晰得多Q色彩饱和度也特别浓郁。缺Ҏ(gu)Q文件比较大Q在U播攄常停ѝ?

我从日韩视频|站上搜集、下载了不少日韩歌星MV的FLV视频Q格式当然是FLV4的?很想知道Q国内的MP4是否能直接播放FLV4的格式?

恌有知道的朋友能指点一?

问题补充Q不好意?我不是笼l地指MP4是否支持FLVQ而是Ҏ(gu)FLV4格式Q因为我知道是有几款MP4支持FLV1?

据说Q二UFLV的视频编码格式不同,FLV1的视频编码格式是Sorenson H.263或H.264Q而FLV4则是ON2 VP6 ?

FLV4在线视频片段观赏:
http://tclon2.com/index.htm


MC目前q办不到Q我见过FLV4格式Q是比较清楚?br /> 你可以用MC转成MP4QH.264+AACQ,再修改后~为FLVQFLASH播放器可以直接调用播放,效果同样非常好,不比On2VP6+MP3?

On2 VP6-S 高清视频
On2 VP6-S~码器是Adobe Flash Player的新伙伴Q专为播N清内容而设。比较H.264 (AVC)及其他同cL术,?Adobe® Flash® Player 而设的On2 VP6-S能以较低的数据传输率及处理器利用率,输出一的高清影像?br />
压制flv4视频参考地址Q?a >http://sk.sosg.net/post/45.htm
On2 VP6和Sorenson Spark 视频~解码器比较Q?a >http://hi.baidu.com/jinzhou_shi/blog/item/0b249beffbde2c32adafd501.html
土豆|ؓ|络视频选用On2 VP6技术,有效节省带宽成本Qhttp://www.eetchina.com/ART_8800558976_621496_NT_ae7228dc.HTM



]]>
视频格式_癑ֺ癄http://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251878.html马?/dc:creator>马?/author>Mon, 19 Jan 2009 05:04:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251878.htmlhttp://www.aygfsteel.com/xiaomage234/comments/251878.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251878.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/251878.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/251878.html手机专用视频格式 3GP
  3GP概述
  3GP是一U?G媒体的视频~码格式Q主要是Z配合3G|络的高传输速度而开发的Q也是目前手Z最为常见的一U视频格式?
  目前Q市面上一些安装有Realplay播放器的手机可直接播攑֐~为rm的文Ӟq样一来,在智能手Zƣ赏一些rm格式的短片自然不是什么难事。然而,手机毕竟是少敎ͼ大部分手机ƈ不支持rm格式的短片,若要在这些手Z实现短片播放则必采用一U名?GP的视频格式。目前有许多具备摄像功能的手机,拍出来的短片文g其实都是?GP为后~的,如诺Z6230、摩托罗拉V600、阿卡特OT756{。下文将介绍如何制作适合手机播放?GP文g?br />   在目前上市的一些智能手机或者支持视频拍摄的手机中我们往往能看到所谓支?GPP格式图象Q那么什么是3GPP格式呢?单的_该格式是“W三代合作伙伴项?#8221;(3GPP)制定的一U多媒体标准Q用户能用手Zn受高质量的视频、音频等多媒体内宏V其核心由包括高U音频编?(AAC)、自适应多速率 (AMR) 和MPEG-4 ?H.263 视频~码解码器等l成Q目前大部分支持视频拍摄的手机都支持3GPP格式的视频播放?br />   转换工具是关?br />   在整个制作过E中Q首先要下蝲通常格式的视频文件{?GP的工P在这里记者推荐诺Z的NOKIA multimedia converter Pro V2.0Q这是诺Z专门~写的压制工P可以把AVI、MPG{格式的视频文g直接转换成手Z能看?GP文g?
  下蝲后按步骤安装。安装完毕后双击文gMMConverterPro.exe卛_打开软gȝ面?
  在界面的中上方,有Video和Audio两个按键Q点d可分别进入各自的界面。其中的Video界面是本文的主题Q用者可以在q里各U格式的视频文g转换为适于手机播放?GP。至于AudioQ顾名思义是制作音乐的界面Q用者在此可电(sh)脑常用的mp3文g转ؓ适合手机彩信发送和存储的AMR格式。同Ӟ通过q个Ҏ(gu)也可以制作AMR格式的真人铃声?
  除了诺基亚专用的转换工具以外推荐的一N用的{换工PXilisoft Video Converter q款软g优点Q可以在DVD、VCD、SVCD、MOV、RM、AVI、MPEG、WMV?GP、MP4{格式间怺转换Q你可以指定视频和音频编码器、设|各输出参敎ͼ光要之处在于:可以从视频文件{换出L行的音频文Ӟ诸如MP2、MP3、AC3、RA、M4A{。此工具支持多线E,可以同时q行多个文g的{换,所有的转换q程都非常简明快捗?
  转换软g操作?br />   Windows Moive Maker制作的短片格式ؓWMVQ需要再用WMV to AVI MPEG VCD SVCD DVD Converter其转ؓAVI或MPG格式Q{换方法可参照工具附带的说明书Q相当简ѝ随卌入最后步骤,制作3GP格式的手机短片?
  1、在NOKIA multimedia converter Pro V2.0的主界面中选择File→Open→选择截取好的短片?
  2、打开短片后,界面中间原本字体为灰色的convert按键会变为黑Ԍ点击convertQ键入文件名、选好存放路径Q按?#8220;保存”键即可?
  3、{换成功后Q你可以点击右面界面的播N来预览制作完成的3GPq了,此时你还会发现现在的文g比原来的要小得多?br />   3GP是一个多媒体储存格式, ?GPP所定义qؓ3G手机所使用. 它是一个简化的MPEG-4 Part 14 (MP4) 版本. 3GP版本的档案附档名?.3gp ?.3g2
  3GP是以MPEG-4 or H.263格式储存影像串流(video streams)Qƈ以AMR-NB or AAC-LC 格式储存声音串流(audio streams)?GP档案永远为big-endianQ储存以及{换从最高位元开?the most significant bytes first)?GP亦定义媄像的大小以及带宽Q?所以内容可以正的~至手机萤幕昄的大?br />   透过合适的多媒体播放YӞ3GP档案亦可以在个h?sh)脑上观看。支?GP格式的多媒体播放软g计有QMedia Player Classic、MPlayer、QuickTime、RealPlayer、VLC Player、Xine及Zoom Player?br />   3GP影像档案可?GP Video Converter 或?MPEG Streamclip 和QuickTime Alternative q用的方式,以{换至多种其他格式Q大多数?G功能的电(sh)话已支援q种格式Q?甚至在撷取媄像时是使用此种格式。在PC萤幕昄的品质与在手q显C的品质cM. 通常保全摄媄Z使用此种格式Q?以便可在一块区域昄注脚。这也是Z手机使用3GP格式的原因?br />   单编辑电(sh)q?br />   虽然相比一些常见的视频文gQ?GP所占的内存非常,但由于手机内存限Ӟ长时间、大定w的电(sh)影ƈ不适合通常的手机播放。所以在选取q时制作者要特别留意Q如果是常见?Q?分钟长短的MTVQ音乐电(sh)视)短片大可攑ֿ压羃Q如果要截取?sh)媄的片断则需要借助其他工具Q如Windows Moive Makerq行单编辑?
  1、打开Windows Moive MakerQ选择文g→导入→在电(sh)脑中L需要剪切的q→双击打开?
  2、此时Y件会dq信息Q时间依q大小而定Q在q度条达?00Q时卛_QY件界面的中间会显C?#8220;剪辑1”?br />   3、点?#8220;剪辑1”Q此时在软g界面的右方会昄q播放信息Q将下方的滑块移至你惛_辑片断的开始处Q点选界面顶部工h中的“剪辑”Q选择“分割”Q此时会生成“剪辑1Q?Q?#8221;文g?br />   4、点?#8220;剪辑1Q?Q?#8221;Q将滑块U至你想剪辑片断的结֤Q再此处炚w界面顶部工h中的“剪辑”?#8220;分割”Q此时将生成“剪辑1(2)”?br />   5、经q两ơ分割后?#8220;剪辑1Q?Q?#8221;即ؓ你所惌截取的媄片,?#8220;剪辑1Q?Q?#8221;上选择“d到情节提?#8221;Q最后选择文g→保存?sh)媄?
  在现时市面上提供手机d的电(sh)话所使用的标准,有以下两个:
  3GPPQGSM手机使用的标准)
  3GPP2QCDMA手机使用的标准)
  两者都是基于相同的~码标准Q媄像方面采用MPEG-4及H.263Q而声韛_采用AAC或AMR标准?br />   推荐一个专业的压羃3GP格式的YӞ
  软g名称QAllok Video to 3GP Converter
  大小Q?951KB
  软g介:
  Allok 公司出品的专为手?3GP 视频设计的媒体{换器。此软g使用 H263/MPEG4/XviD q三U编解码器,你的手机臛_支持其中之一吧?
  转换时的输入格式目前支持几乎所有主的音频视频格式Q?.aviQ?.mpgQ?.divxQ?.divQ?.xvidQ?.mpegQ?.wmvQ?.asfQ?.asxQ?.mpeQ?.m1vQ?.m2vQ?.datQ?.mp4Q?.m4vQ?.dvQ?.difQ?.mjpgQ?.mjpegQ?.movQ?.qtQ?.rmQ?.rmvbQ?.3gpQ?.3g2Q?.h261Q?.h264Q?.yuvQ?.rawQ?.flvQ?.swfQ?.vobQ?.mkvQ?.ogmQ?br />   可以它们{换ؓQ?br />   3GP + AMR 格式Q?.3gpQ?GP + AAC 格式Q?.3gpQ?GP2 + AAC 格式Q?.3g2Q、MPEG-4 视频格式Q?.mp4Q、AVI 视频格式 Q?.aviQ、DivX 视频格式Q?.aviQ?br />   特色功能Q?br />   支持视频分割Q帮助?zhn)ȝ取精Q可以只保留你最喜爱的片D;
  允许导入外挂的各U字q文件、支持所有的L字幕文g格式?br />   特别推荐各位朋友使用q个软g压羃你手机适合的手机电(sh)影,q几天我再写一个此软g详细的用教E。请各位朋友耐心{待Q?br />   专业|站
  可以M面几个网站下?gp手机?sh)媄Q?br />   http://www.Sky3gp.com http://www.anwang.net http://www.3la3la.com http://www.fuwabbs.cn http://www.hao3gp.com http://www.3gp2.com http://www.513gp.com http://www.523gp.cn
ASF
  ASF ?Advanced Streaming format 的羃写,由字面(高񔋹格式)意思就应该看出q个格式的用处了吧。说I了 ASF 是 MICROSOFT Z和现在的 Real player 竞争而发展出来的一U可以直接在|上观看视频节目的文件压~格式!׃它用了 MPEG4 的压~算法,所以压~率和图像的质量都很不错。因?ASF 是以一个可以在|上x观赏的视?#8220;?#8221;格式存在的,所以它的图像质量比 VCD 差一点点q不出奇Q但比同是视?#8220;?#8221;格式?RAM 格式要好。不q如果你不考虑在网上传播,选最好的质量来压~文件的话,其生成的视频文g?VCD QMPEG1Q好是一点也不奇怪的Q但q样的话Q就失去?ASF 本来的发展初Pq不如干脆用 N AVI 或?DIVX 。但微Y?#8220;子第”是有它Ҏ(gu)的优势,最明显的是各类软g对它的支持方面就无h能敌?br /> n AVI
  n AVI ?newAVI 的羃写,是一个名?ShadowRealm 的地下组l发展v来的一U新视频格式。它是由 Microsoft ASF 压羃法的修改而来的(q不是想象中?AVIQ,视频格式q求的无非是压羃率和囑փ质量Q所?NAVI Zq求q个目标Q改善了原始?ASF 格式的一些不I?NAVI 可以拥有更高的率(frame rateQ。当Ӟq是牺牲 ASF 的视频流Ҏ(gu)作ZL。概括来_ NAVI 是一U去掉视频流Ҏ(gu)的改良?ASF 格式Q再单点是---非网l版本的 ASF Q?br /> AVI
  AVI ?Audio Video Interleave 的羃写,q个看来也不用我多解释了Q这个微软由 WIN3.1 时代发表的旧视频格式已lؓ我们服务了好几个q头了。如果这个都不认识,我看你还是别往下看了,q个东西的好处嘛Q无非是兼容好、调用方ѝ图像质量好Q但~点我想也是人所q的:寸大!是因ؓq点Q我们现在才可以看到?MPEG1 的诞生到现在 MPEG4 的出台?br /> MPEG
  MPEG ?Motion Picture Experts Group 的羃写,它包括了 MPEG-1, MPEG-2 ?MPEG-4 Q注意,没有MPEG-3Q大家熟(zhn)的MP3 只是 MPEG Layeur 3Q。MPEG-1怿是大家接触得最多的了,因ؓ它被q泛的应用在 VCD 的制作和一些视频片D下载的|络应用上面Q可以说 99% ?VCD 都是?MPEG1 格式压羃的,Q注?VCD2.0 q不是说?VCD 是用 MPEG-2 压羃的)使用 MPEG-1 的压~算法,可以把一?120 分钟长的?sh)媄Q未视频文gQ压~到 1.2 GB 左右大小。MPEG-2 则是应用?DVD 的制作(压羃Q方面,同时在一?HDTVQ高清晰?sh)视q播Q和一些高要求视频~辑、处理上面也有相当的应用面。?MPEG-2 的压~算法压~一?120 分钟长的?sh)媄Q未视频文gQ可以到压羃?4 ?8 GB 的大(当然Q其囑փ质量{性能斚w的指?MPEG-1 是没得比的)。MPEG-4 是一U新的压~算法,使用q种法?ASF 格式可以把一?120 分钟长的?sh)媄Q未视频文gQ压~到 300M 左右的视频流Q可供在|上观看。其它的 DIVX 格式也可以压~到 600M 左右Q但其图像质量比 ASF 要好很多?br /> DIVX
  DIVX 视频~码技术可以说是一U对 DVD 造成威胁的新生视频压~格式(有h说它?DVD 杀手)Q它?Microsoft mpeg4v3 修改而来Q?MPEG4 压羃法。同时它也可以说是ؓ了打?ASF 的种U协定而发展出来的。而用这U据说是国止出口的编码技?--- MPEG4 压羃一?DVD 只需?2 ?CDROMQ这样就意味着Q你不需要买 DVD ROM 也可以得到和它差不多的视频质量了Q而这一切只需要你?CDROM 哦!况且播放q种~码Q对机器的要求也不高QCPU 只要?300MHZ 以上Q不你是PII,CELERON,PIII,AMDK6/2,AMDK6III,AMDATHALON,CYRIXx86Q在配上 64 兆的内存和一?8?昑֭的显卡就可以畅的播放了。这l对是一个了不v的技术,前途不可限量!
QuickTime
  QuickTimeQMOVQ是 AppleQ苹果)公司创立的一U视频格式,在很长的一D|间里Q它都是只在Ҏ(gu)公司?MAC Z存在。后来才发展到支?WINDOWS q_的,但^心而论Q它无论是在本地播放q是作ؓ视频格式在|上传播Q都是一U优良的视频~码格式。到目前为止Q它共有 4 个版本,其中?4.0 版本的压~率最好!
REAL VIDEO
  REAL VIDEO QRA、RAMQ格式由一开始就是定位就是在视频应用方面的Q也可以说是视频技术的始创者。它可以在用 56K MODEM 拨号上网的条件实C间断的视频播放,当然Q其囑փ质量?MPEG2、DIVX {比是不敢恭l的啦。毕竟要实现在网上传输不间断的视频是需要很大的频宽的,q方?ASF 的它的有力竞争者!
RMVB
  所谓RMVB格式Q是在流媒体的RMq格式上升Ug伸而来。VB即VBRQ是Variable Bit RateQ可改变之比特率Q的英文~写。我们在播放以往常见的RM格式?sh)媄Ӟ可以在播攑֙左下角看?25Kbps字样Q这是比特率。媄片的静止画面和运动画面对压羃采样率的要求是不同的Q如果始l保持固定的比特率,会对q质量造成费?br />   而RMVB则打破了原先RM格式那种q_压羃采样的方式,在保证^均压~比的基上,讑֮了一般ؓq_采样率两倍的最大采L倹{将较高的比特率用于复杂的动态画面(歌舞、飞车、战争等Q,而在静态画面中则灵zd转ؓ较低的采LQ合理地利用了比特率资源QRMVB在牺牲少部分你察觉不到的q质量情况下最大限度地压羃了媄片的大小Q最l拥有了q乎完美的接q于DVD品质的视听效果,如图1所C的是RMVB格式的《圣斗士冥王》。可谓体U与清晰?#8220;g熊掌兼得”Q其发展前景不容觑?br />   相较DVDrip而言QRMVB的优势不a而喻。首先在保证q整体视听效果的前提下QRMVB的个头只?00~450MB左右Q以90分钟的标准电(sh)p)Q而DVDrip却需?00MB甚至更多Q其ơRMVB的字qؓ内嵌字幕Q不像DVDrip那样要安装调试字q外挂YӞ有时q会出现qQ更重要的是RMVB的媄x攑֏需一ơ性安装完解码器,以后无论影像q是x都无需另行调试。而DVDrip却视频、音频解码一大堆Q设|不当还会造成音画不同步、花屏失声等{毛病?br /> 本地影像视频
  ●AVI格式Q它的英文全UCؓAudio Video 文g后缀名:*.avi
  InterleavedQ即音频视频交错格式。它?992q被Microsoft公司推出Q随Windows3.1一赯Z所认识和熟知。所?#8220;音频视频交错”Q就是可以将视频和音频交l在一赯行同步播放。这U视频格式的优点是图像质量好Q可以跨多个q_使用Q其~点是体U过于庞大,而且更加p糕的是压羃标准不统一Q最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频Q而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频Q所以我们在q行一些AVI格式的视频播放时怼出现׃视频~码问题而造成的视频不能播放或即能够播放Q但存在不能调节播放q度和播放时只有声音没有囑փ{一些莫名其妙的问题Q如果用户在q行AVI格式的视频播放时遇到了这些问题,可以通过下蝲相应的解码器来解冟?br />   ●nAVI格式QnAVI是newAVI的羃写,是一个名为ShadowRealm的地下组l发展v来的一U新视频格式(与我们上面所说的AVI格式没有太大联系)。它是由Microsoft
  ASF压羃法的修改而来的,但是又与下面介绍的网l媄像视频中的ASF视频格式有所区别Q它以牺牲原有ASF视频文g视频“?#8221;Ҏ(gu)ؓ代h(hun)而通过增加帧率来大q提高ASF视频文g的清晰度?br />   ●DV-AVI格式QDV的英文全U是Digital Video
  FormatQ是q{松下、JVC{多家厂商联合提出的一U家用数字视频格式。目前非常流行的数码摄像机就是用这U格式记录视频数据的。它可以通过?sh)脑的IEEE
  1394端口传输视频数据到电(sh)脑,也可以将?sh)脑中编辑好的的视频数据回录到数码摄像机中。这U视频格式的文g扩展名一般是.aviQ所以也叫DV-AVI格式?br />   ●MPEG格式Q它的英文全UCؓMoving Picture Expert
  GroupQ即q动囑փ专家l格式,安常看的VCD、SVCD、DVD是q种格式。MPEG文g格式是运动图像压~算法的国际标准Q它采用了有损压~方法减运动图像中的冗余信息,说的更加明白一点就是MPEG的压~方法依据是盔R两幅画面l大多数是相同的Q把后箋囑փ中和前面囑փ有冗余的部分去除Q从而达到压~的目的(其最大压~比可达?00:1)。目前MPEG格式有三个压~标准,分别是MPEGQ?、MPEGQ?、和MPEGQ?Q另外,MPEG-7与MPEG-21仍处在研发阶Dc?br />   MPEGQ?Q制定于1992q_它是针对1.5Mbps以下数据传输率的数字存储媒体q动囑փ及其伴音~码而设计的国际标准。也是我们通常所见到的VCD制作格式。用MPEG-1的压~算法,可以把一?20分钟长的?sh)媄压羃?.2GB左右大小。这U视频格式的文g扩展名包?mpg?mlv?mpe?mpeg及VCD光盘中的.dat文g{?br />   MPEGQ?Q制定于1994q_设计目标为高U工业标准的囑փ质量以及更高的传输率。这U格式主要应用在DVD/SVCD的制?压羃)斚wQ同时在一些HDTV(高清晰电(sh)视广?和一些高要求视频~辑、处理上面也有相当的应用。用MPEG-2的压~算法,可以把一?20分钟长的?sh)媄压羃??GB的大。这U视频格式的文g扩展名包?mpg?mpe?mpeg?m2v及DVD光盘上的.vob文g{?br />   MPEGQ?Q制定于1998q_MPEGQ?是ؓ了播放流式媒体的高质量视频而专门设计的Q它可利用很H的带度Q通过帧重建技术,压羃和传输数据,以求使用最的数据获得最佳的囑փ质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小体积视频文g。另外,q种文g格式q包含了以前MPEG压羃标准所不具备的比特率的可׾~性、动ȝc交互性甚至版权保护等一些特D功能。这U视频格式的文g扩展名包?asf?mov和DivX ,AVI{?br />   提C:l心的用户一定注意到了,q中间怎么没有MPEGQ?~码Q实际上Q大家熟(zhn)的MP3是采用的MPEGQ?(MPEG
  Layeur3)~码?br />   ●DivX格式Q这是由MPEGQ?衍生出的另一U视频编?压羃)标准Q也x们通常所说的DVDrip格式Q它采用了MPEG4的压~算法同时又l合了MPEG-4与MP3各方面的技术,说白了就是用DivX压羃技术对DVD盘片的视频图像进行高质量压羃Q同时用MP3或AC3寚w频进行压~,然后再将视频与音频合成ƈ加上相应的外挂字q文件而Ş成的视频格式。其画质直逼DVDq且体积只有DVD的数分之一。这U编码对机器的要求也不高Q所以DivX视频~码技术可以说是一U对DVD造成威胁最大的新生视频压羃格式Q号UDVD杀手或DVDl结者?br />   ●MOV格式Q美国Apple公司开发的一U视频格式,默认的播攑֙是苹果的QuickTimePlayer。具有较高的压羃比率和较完美的视频清晰度{特点,但是其最大的特点q是跨^台性,即不仅能支持MacOSQ同样也能支持Windowspd?br /> |络影像视频
  ●ASF格式Q它的英文全UCؓAdvanced Streaming formatQ它是微软ؓ了和现在的Real
  Player竞争而推出的一U视频格式,用户可以直接使用Windows自带的Windows Media
  Player对其q行播放。由于它使用了MPEG-4的压~算法,所以压~率和图像的质量都很不错(高压~率有利于视频流的传输,但图像质量肯定会的损失,所以有时候ASF格式的画面质量不如VCD是正常的)?br />   ●WMV格式Q它的英文全UCؓWindows Media
  VideoQ也是微软推出的一U采用独立编码方式ƈ且可以直接在|上实时观看视频节目的文件压~格式。WMV格式的主要优点包括:本地或网l回放、可扩充的媒体类型、部件下载、可伸羃的媒体类型、流的优先化、多语言支持、环境独立性、丰富的间关系以及扩展性等?br />   ●RM格式QReal Networks公司所制定的音频视频压~规范称为Real
  MediaQ用户可以用RealPlayer或RealOne
  Player对符合RealMedia技术规范的|络音频/视频资源q行实况转播q且RealMedia可以Ҏ(gu)不同的网l传输速率制定Z同的压羃比率Q从而实现在低速率的网l上q行影像数据实时传送和播放。这U格式的另一个特Ҏ(gu)用户使用RealPlayer或RealOne
  Player播放器可以在不下载音?视频内容的条件下实现在线播放。另外,RM作ؓ目前L|络视频格式Q它q可以通过其Real
  Server服务器将其它格式的视频{换成RM视频q由Real
  Server服务器负责对外发布和播放。RM和ASF格式可以说各有千U,通常RM视频更柔和一些,而ASF视频则相Ҏ(gu)C些?br />   ●RMVB格式Q这是一U由RM视频格式升延出的新视频格式,它的先进之处在于RMVB视频格式打破了原先RM格式那种q_压羃采样的方式,在保证^均压~比的基上合理利用比特率资源Q就是说静止和动作场面少的画面场景采用较低的~码速率Q这样可以留出更多的带宽I间Q而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下,大幅地提高了q动囑փ的画面质量,从而图像质量和文g大小之间pC微妙的^衡。另外,相对于DVDrip格式QRMVB视频也是有着较明昄优势Q一部大ؓ700MB左右的DVDqQ如果将其{录成同样视听品质的RMVB格式Q其个头最多也?00MB左右。不仅如此,q种视频格式q具有内|字q和无需外挂插g支持{独特优炏V要x放这U视频格式,可以使用RealOnePlayer2.0或RealPlayer8.0加RealVideo9.0以上版本的解码器形式q行播放?
  ●FLV视频格式
  FLV 是FLASH VIDEO的简UͼFLV媒体格式是一U新的视频格式,全称为Flash Video。由于它形成的文件极、加载速度极快Q得网l观看视频文件成为可能,它的出现有效地解决了视频文g导入Flash后,使导出的SWF文g体积庞大Q不能在|络上很好的使用{缺炏V?br />   目前各在U视频网站均采用此视频格式。如新浪播客?6、土豆、酷6、youtube{,无一例外。FLV已经成ؓ当前视频文g的主格式?br />   FLV是随着Flash MX的推出发展而来的视频格式,目前被众多新一代视频分享网站所采用Q是目前增长最快、最为广泛的视频传播格式。是在sorenson 公司的压~算法的基础上开发出来的。FLV格式不仅可以L的导入Flash 中,速度极快Qƈ且能其到保护版权的作用,q且可以不通过本地的微软或者REAL播放器播放视频?br />   常见的视频编码:
  1、Microsoft RLE
  一U?位的~码方式Q只能支持到256艌Ӏ压~动L者是计算机合成的囑փ{具有大面积色块的素材可以用它来编码,是一U无损压~方案?
  2、Microsoft Video 1
  用于Ҏ(gu)拟视频进行压~,是一U有损压~方案,最高仅辑ֈ256Ԍ它的品质可惌知Q一般还是不要用它来编码AVI?
  3、Microsoft H.261和H.263 Video Codec
  用于视频会议的CodecQ其中H.261适用于ISDN、DDNU\QH.263适用于局域网Q不q一般机器上q种Codec是用来播攄Q不能用于编码?
  4、Intel Indeo Video R3.2
  所有的Windows版本都能用Indeo video 3.2播放AVI~码。它压羃率比Cinepak大,但需要回攄计算比Cinepak的快?
  5、Intel Indeo Video 4?
  常见的有4.5?.10两种Q质量比Cinepak和R3.2要好Q可以适应不同带宽的网l,但必L相应的解码插件才能顺利地下载作品进行播放。适合于装了Intel公司MMX以上CPU的机器,回放效果优秀。如果一定要用AVI的话Q推荐?.10Q在效果几乎一L情况下,它有更快的编码速度和更高的压羃比?
  6、Intel IYUV Codec
  使用该方法所得图像质量极好,因ؓ此方式是普通的RGB色彩模式变ؓ更加紧凑的YUV色彩模式。如果你惛_AVI压羃成MPEG-1的话Q用它得到的效果比较理想Q只是它的生成的文g太大?
  7、Microsoft MPEG-4 Video codec
  常见的有1.0?.0?.0三种版本Q当然是ZMPEG-4技术的Q其?.0q不能用于AVI的编码,只能用于生成支持“视频?#8221;技术的ASF文g?
  8、DivX? MPEG-4 Low-Motion/Fast-Motion
  实际与Microsoft MPEG-4 Video code是相当的东西Q只是Low-Motion采用的固定码率,Fast-Motion采用的是动态码率,后者压~成的AVI几乎只是前者的一半大Q但质量要差一些。Low-Motion适用于{换DVD以保证较好的画质QFast-Motion用于转换VCD以体现MPEG-4短小_?zhn)的优ѝ?
  9 、DivX 3.11/4.12/5.0
  实际上就是DivXQ原来DivX是ؓ了打破Microsoft的ASF规格而开发的Q现在开发组摇n一变成了Divxnetworks公司Q所以不断推出新的版本,最大的特点是在编码程序中加入?-pass?-pass的设|,2-pass相当于两ơ编码,以最大限度地在网l带宽与视觉效果中取得^衡?

]]>
音频格式_癑ֺ癄http://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251877.html马?/dc:creator>马?/author>Mon, 19 Jan 2009 05:01:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251877.htmlhttp://www.aygfsteel.com/xiaomage234/comments/251877.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251877.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/251877.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/251877.html   要在计算机内播放或是处理音频文gQ也是要对声音文gq行数、模转换Q这个过E同L采样和量化构成,x能听到的声音Q最低的频率是从20Hz起一直到最高频?0KHZQ?0KHz以上x听不到的Q因此音频的最大带宽是20KHZQ故而采样速率需要介?0~50KHZ之间Q而且Ҏ(gu)个样本需要更多的量化比特数。音频数字化的标准是每个h16?96dB的信噪比Q采用线性脉冲编码调制PCMQ每一量化步长都具有相{的长度。在音频文g的制作中Q正是采用这一标准?br /> CD格式Q正l血?br />   当今世界上音质最好的音频格式是什么?当然是CD了。因此要讲音频格式,CD自然是打头阵的先锋。在大多数播放Y件的“打开文gcd”中,都可以看刎ͼ.cda格式Q这是CD韌了。标准CD格式也就?4.1K的采样频率,速率88K/U,16位量化位敎ͼ因ؓCD韌可以说是q似无损的,因此它的声音基本上是忠于原声的,因此如果你如果是一个音响发烧友的话QCD是你的首选。它会让你感受到天籁之音。CD光盘可以在CD唱机中播放,也能用电(sh)脑里的各U播放Y件来重放。一个CD音频文g是一个*.cda文gQ这只是一个烦引信息,q不是真正的包含声音信息Q所以不论CD音乐的长短,在电(sh)脑上看到?#8220;Q?cda文g”都是44字节ѝ注意:不能直接的复制CD格式的*.cda文g到硬盘上播放Q需要用象EACq样的抓韌软g把CD格式的文件{换成WAVQ这个{换过E如果光盘驱动器质量q关而且EAC的参数设|得当的话,可以说是基本上无损抓音频。推荐大家用这U方法?br /> WAVQ无?br />   是微软公司开发的一U声x件格式,它符?PIFFResource Interchange File Format 文g规范Q用于保存WINDOWSq_的音频信息资源,被WINDOWSq_及其应用E序所支持?#8220;*.WAV”格式支持MSADPCM、CCITT A LAW{多U压~算法,支持多种音频位数、采样频率和声道Q标准格式的WAV文g和CD格式一P也是44.1K的采样频率,速率88K/U,16位量化位敎ͼ看到了吧QWAV格式的声x件质量和CD相差无几Q也是目前PCZqؓ行的声x件格式,几乎所有的音频~辑软g?#8220;认识”WAV格式?但缺Ҏ(gu)体型q于“巨大”?br /> AIFF与AU
  q里Z提一下由Ҏ(gu)公司开发的AIFFQAudio Interchange File FormatQ格式和为UNIXpȝ开发的AU格式Q它们都和WAV非常相像Q在大多数的音频~辑软g中也都支持它们这几种常见的音乐格式?br /> MP3Q流?/strong>
  MP3格式诞生于八十年代的德国Q所谓的MP3也就是指的是MPEG标准中的音频部分Q也是MPEG音频层。根据压~质量和~码处理的不同分?层,分别对应“*.mp1"/“*.mp2”/“*.mp3”q?U声x件。需要提醒大家注意的地方是:MPEG音频文g的压~是一U有损压~,MPEG3音频~码h10Q?~12Q?的高压羃率,同时基本保持低音频部分不qQ但是牺牲了声音文g?2KHz?6KHz高音频这部分的质量来换取文g的尺寸,相同长度的音乐文Ӟ用*.mp3格式来储存,一般只有*.wav文g?/10Q而音质要ơ于CD格式或WAV格式的声x件。由于其文g寸,韌好;所以在它问世之初还没有什么别的音频格式可以与之匹敌,因而ؓQ?mp3格式的发展提供了良好的条件。直到现在,q种格式q是风靡一Ӟ作ؓL音频格式的地位难以被撼动。但是树大招风,MP3音乐的版权问题也一直是找不到办法解冻I因ؓMP3没有版权保护技术,说白了也是谁都可以用?
  MP3格式压羃音乐的采样频率有很多U,可以?4Kbps或更低的采样频率节省I间Q也可以?20Kbps的标准达到极高的韌。我们用装有Fraunhofer IIS Mpeg Lyaer3?MP3~码器(现在效果最好的~码器)MusicMatch Jukebox 6.0?28Kbps的频率下~码一?分钟的歌Ԍ得到2.82MB的MP3文g。采用缺省的CBRQ固定采样频率)技术可以以固定的频率采样一首歌Ԍ而VBRQ可变采样频率)则可以在音乐“?#8221;的时候加大采L频率获取更高的音质,不过产生的MP3文g可能在某些播攑֙上无法播放。我们把VBR的别设定成Z前面的CBR文g的音质基本一P生成的VBR MP3文g?.9MB?br /> MIDIQ作曲家最?br />   l常玩音乐的人应该常听到MIDIQMusical Instrument Digital InterfaceQ这个词QMIDI允许数字合成器和其他讑֤交换数据。MID文g格式由MIDIl承而来。MID文gq不是一D录制好的声韻I而是记录声音的信息,然后在告诉声卡如何再现音乐的一l指令。这样一个MIDI文g每存1分钟的音乐只用大U??0KB。今天,MID文g主要用于原始乐器作品Q流行歌曲的业余表演Q游戏音轨以及电(sh)子贺卡等。*.mid文g重放的效果完全依赖声卡的档次。*.mid格式的最大用处是在电(sh)脑作曲领域。*.mid文g可以用作曲Y件写出,也可以通过声卡的MIDI口把外接韛_器演奏的乐曲输入?sh)脑里,制成Q?mid文g?br /> WMAQ最具实?/strong>
  WMA (Windows Media Audio) 格式是来自于微Y的重量选手Q后台强,韌要强于MP3格式Q更q胜于RA格式Q它和日本YAMAHA公司开发的VQF格式一P是以减少数据量但保持音质的Ҏ(gu)来达到比MP3压羃率更高的目的QWMA的压~率一般都可以辑ֈ1Q?8左右QWMA的另一个优Ҏ(gu)内容提供商可以通过DRMQDigital Rights ManagementQ方案如Windows Media Rights Manager 7加入防拷贝保护。这U内|了版权保护技术可以限制播放时间和播放ơ数甚至于播攄机器{等Q这对被盗版搅得焦头乱额的音乐公司来说可是一个福韻I另外WMAq支持音频流(Stream)技术,适合在网l上在线播放Q作为微软抢占网l音乐的开路先锋可以说是技术领先、风头强Ԍ更方便的是不用象MP3那样需要安装额外的播放器,而Windows操作pȝ和Windows Media Player的无~捆l让你只要安装了windows操作pȝ可以直接播放W(wng)MA音乐Q新版本的Windows Media Player7.0更是增加了直接把CD光盘转换为WMA声音格式的功能,在新出品的操作系lWindows XP中,WMA是默认的~码格式Q大家知道Netscape的遭遇,现在“?#8221;又来了。WMAq种格式在录制时可以寚w质进行调节。同一格式Q音质好的可与CD媲美Q压~率较高的可用于|络q播。虽然现在网l上q不是很行Q但是在微Y的大规模推广下已l是得到了越来越多站点的承认和大力支持,在网l音乐领域中直|.mp3Q在|络q播斚wQ也正在瓜分Real打下的天下。因此,几乎所有的音频格式都感受到了WMA格式的压力?br />   时下的MP3支持格式最常见的是MP3和WMA。MP3׃是有损压~,因此讲求采样率,一般是44.1KHZ。另外,q有比特率,x据流Q一般ؓ8---320KBPS。在MP3~码Ӟq看看它是否支持可变比特率(VBRQ,现在出的MP3机大部分都支持,q样可以减小有效文g的体U。WMA则是微Y力推的一U音频格式,相对来说要比MP3体积更小?br /> RealAudioQ流动旋?/strong>
  RealAudio主要适用于在|络上的在线音乐ƣ赏Q现在大多数的用户仍然在使用56Kbps或更低速率的ModemQ所以典型的回放q最好的韌。有的下载站点会提示你根据你的Modem速率选择最佳的Real文g。现在real的的文g格式主要有这么几U:有RAQRealAudioQ、RMQRealMediaQRealAudio G2Q、RMXQRealAudio SecuredQ,q有更多。这些格式的特点是可以随|络带宽的不同而改变声音的质量Q在保证大多Ch听到畅声音的前提下Qo带宽较富裕的听众获得较好的音质?
  q来随着|络带宽的普遍改善,Real公司正推出用于网l广播的、达到CD韌的格式。如果你的RealPlayer软g不能处理q种格式Q它?yu)׃提醒你下载一个免费的升包?br /> VQFQ无人问z?/strong>
  VQF?雅马哈公司开发的一U格式是Q它的核心是减少数据量但保持音质的Ҏ(gu)来达到更高的压羃比,可以说技术上也是很先q的Q但是由于宣传不力,q种格式难有用武之地。*.vqf可以用雅马哈的播攑֙播放。同旉马哈也提供从Q?wav文g转换刎ͼ.vqf文g的Y件?此文件缺特点外加缺乏宣传,现在几乎已经宣布d了?br /> OGGQ新生代音频格式
  Ogg全称应该是OGG Vobis(ogg Vorbis) 是一U新的音频压~格式,cM于MP3{现有的音乐格式。但有一点不同的是,它是完全免费、开攑֒没有专利限制的。OGG Vobis有一个很Z的特点,是支持多声道,随着它的行Q以后用随n听来听DTS~码的多声道作品不会是梦想?br />   Vorbis 是这U音频压~机制的名字Q而Ogg则是一个计划的名字Q该计划意图设计一个完全开放性的多媒体系l。目前该计划只实COggVorbisq一部分?br />   Ogg Vorbis文g的扩展名?OGG。这U文件的设计格式是非常先q的。现在创建的OGG文g可以在未来的M播放器上播放Q因此,q种文g格式可以不断地进行大和韌的改良,而不影响旧有的编码器或播攑֙?br />   ogg格式完全开源,完全免费Q?和mp3不相上下的新格式?br /> AAC: 前途无?/strong>
  AACQ高U音频编码技?Advanced Audio Coding)Q是杜比实验室ؓ音乐提供的技术,最大能容纳48通道的音轨,采样率达96 KHz。出C1997q_是基于MPEG-2的音频编码技术。由Fraunhofer IIS、杜比、苹果、AT&T、烦等公司共同开发,以取代mp3格式?000q_MPEG-4标准出台QAAC从新整合了其Ҏ(gu),故现又称MPEG-4 AACQ即m4a?br />   AAC作ؓ一U高压羃比的音频压羃法QAAC通常压羃比ؓ18:1Q也有资料说?0:1Q远q超q了AC-3、MP3{较老的音频压羃法。一般认为,AAC格式?6Kbps码率的表现超q了128Kbps的MP3音频。AAC另一个引人注目的地方是它的多声道特性,它支??8个全韛_韌?5个低频音轨。除此之外,AAC最高支?6KHz的采LQ其解析能力_以和DVD-Audio的PCM~码相提q论Q因此,它得CDVD论坛的支持,成ؓ了下一代DVD的标准音频编码?br /> APE 无损压羃格式
  C代的无损音频格式?APE的本质,其实它是一U无损压~音频格式。庞大的WAV音频文g可以通过Monkey''s Audioq个软gq行“瘦n”压羃为APE。很时候它被用做网l音频文件传输,因ؓ被压~后的APE文g定w要比WAV源文件小一半多Q可以节U传输所用的旉。更重要的是Q通过Monkey's Audio解压~还原以后得到的WAV文g可以做到与压~前的源文g完全一致。所以APE被誉?#8220;无损音频压羃格式”QMonkey''s Audio被誉?#8220;无损音频压羃软g”?br />   FLAC格式
  非常成熟的无损压~格式,名气不在APE之下QFLAC是FreeLosslessAudioCodec的简Uͼ该格式的源码完全开放,而且兼容几乎所有的操作pȝq_。它的编码算法相当成熟,已经通过了严格的试Q而且据说在文件点损坏的情况下依然能够正常播放Q这一Ҏ(gu)不曾试过Q。该格式不仅有成熟的Windows制作E序Q还得到了众多第三方软g的支持。此外该格式是唯一的已l得到硬件支持的无损格式QRio公司的硬盘随w听KarmaQ徏伍的车蝲韛_MusicKeg以及PhatBox公司的数码播放机都能支持FLAC格式?br />   Tom's Audio KompressorQTAK格式Q?br />   TAK是一U新型的无损音频压羃格式Q全U是Tom's Audio KompressorQ于d国。目前最新版本还停留?.01Q?007q?6?2日)。它cM于FLAC和APEQM来说Q压~率cMAPE而且解压~速度cMFLACQ算是综合了两者的优点。另外,用此格式的编码器压羃的音频是VBRQ即可变比特率的?br />   几大特点Q?br />   -较ؓ优秀的压~率。用Extra参数的压~率cMAPE的High参数Q而用TAK最快的压羃参数Turbo得到的结果和FLAC压羃率最大的参数效果有得一比?br />   -较快的压~速度。作者说在相同压~率的情况下Q据他了解尚未有别的格式能够比TAK的Turbo和Fast的参数压~得更快?br />   -非常快的解压速度。类gFLAC的解压速度?br />   -支持很多常用音频格式转换为TAK?br />   -支持。每隔两U,包含解码所需全部信息的一桢会被插入到音频中?br />   -定w度?比特的信息出错,最多媄响到250毫秒的音频。由于有上文提到的技术支持,利用本格式压~的损坏严重的音频也可照h放,代h(hun)是损坏的部分由静音代ѝ?br />   -错误校验?4比特的CRC校验用于每一桢上?br />   -单快速的查找能力。即在你需要从中间某一Ҏ(gu)攄时候,能够很快地找C惌的地方开始播放,定位也十分准?br />   -支持音频信息。同时支持利用外挂CUE分割韌和添加音频信息。类似APE{?br /> 评论
  作ؓ数字音乐文g格式的标准, WAV 格式定wq大Q因而用v来很不方ѝ因此,一般情况下我们把它压羃为MP3?WMA 格式。压~方法有无损压羃Q有损压~,以及h压羃。MPEG, JPEG属于؜成压~,如果把压~的数据q原回去Q数据其实是不一L。当Ӟx无法分L的。因此,如果?MP3, OGG格式从压~的状态还原回ȝ话,׃产生损失。然而, APE 格式即ɘq原Q也能毫无损失地保留原有韌。所以, APE可以无损失高韌地压~和q原。在完全保持韌的前提下QAPE的压~容量有了适当的减。拿一个最为常见的38MB WAV文gZQ压~ؓ APE 格式后ؓ25MB 左右Q比开始_?3MB。而且MP3定w来大的今天,25M的歌曲已l算不上什么庞然大物了。以1GB的mp3来说可以攑օ4张CDQ那是40多首歌曲Q已l够了Q?

]]>
谈RMVB格式[转]http://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251865.html马?/dc:creator>马?/author>Mon, 19 Jan 2009 04:10:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251865.htmlhttp://www.aygfsteel.com/xiaomage234/comments/251865.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2009/01/19/251865.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/251865.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/251865.htmlMP3QMP4的视频功能从出现C天,v来也有三Q四q时间了Q但是现在的视频播放能力上,除了昄屏越来越大,分L率,色度来高之外Qƈ没有什么太大的转变Q视频编码换了不,但想要在随n播放器上播放视频Q绝大多数还是需要{换,而这正是消费者最头疼的事。ƈ且MP4播放器类产品与PSP{还有所不同Q各家品牌之间的MP4产品q不能同一~码和格式,因此不能像PSP那样有一个提供大家共享的资源C֌Q大多数时候消费者还是需要自行{换格式,而一般二ơ压~之后的视频文g或多或少的存在显C缺Pq且费了大量的转换旉。因此一U易获得Q资源多的视频格式支持便成ؓ了消费者最q切的需求。而RM/RMVB格式正好满了这一需要。随着几款低h(hun)RM/RMVB格式直接支持的MP4播放器的上市QRMVB在网l盛行之后,又成Z随n播放领域炙手可热的话题。在此,我们不妨׃h看看什么是RMVB格式QRMVB格式又有那些优势Q?br />

早期的Realplayer Pluse播放?

RMVB源自于Real Network公司的RealMedia(RM)格式Q该公司是拥有?zhn)久历Ԍ在网l媒体上h强大的技术力量。RealMedia普遍的特Ҏ(gu)体积,能够适应非常H的|络带宽QRMVB是原有的RM格式的改q,从RM9开始支持VBR~码模式Qƈ且改q了~码法Q其具有更高的要羃率和品质。它的推出在一定程度上弥补了一些原有的~憾。相对于随n领域而言QRMVB格式最大的优势莫过?font style="background-color: #ff00ff" color="#ffff00">动态比特率Q?#8220;雑֌”技术和无须转换q三点了?br />

现在的RealOne Player

区别与之前的RM格式QRMVB最大的特色是加入?font color="#ffff00">VBR技?/font>Q也是Variable Bit RateQ可改变之比特率Q?/font>的英文羃写。VBR~码是多媒体文gq泛使用的编码方式,例如常见的Mp3、wma、mpeg1??都支持VBR~码模式Q以往我们在播攑ָ见的RM格式?sh)媄Ӟ可以在某些播攑֙看?#8220;xxxKbps”字样Q这是比特率。媄片的静止画面和运动画面对压羃采样率的要求是不同的Q如果始l保持固定的比特率,会对比特利用造成费?RMVB打破了原先RM格式那种q_压羃采样的方式,在保证^均压~比的基上,~码器会Ҏ(gu)画面变化的复杂程度设定动态的不同的位率,最高位率一般ؓq_q_位率两倍的最大位率。将较高的比特率用于复杂的动态画面(歌舞、飞车、战争等Q,而在静态画面中则灵zd转ؓ较低的采LQ合理地利用了比特率资源Q得在牺牲部分媄片质量情况下最大限度地压羃了媄片的大小Q最l拥有了和固定比特率~码的文件相q的视听效果Q可谓体U与清晰?#8220;g熊掌兼得”?br />

除了动态比特率外,RMVB格式与传l视频格式另一个最大的区别在于:压羃文g时RMVB采用?font style="background-color: #ff0000" color="#ffff00">Ҏ(gu)?#8220;雑֌”技?/font>Q而不是传l丢帧的方式。从qx的用中Q我们就可以看出来,一般播放RMVB格式的文Ӟ在放大到一定程度或者全屏时Q画面会昑־模糊Q而不是出?#8220;马赛?#8221;现象。这是RMVB格式的优ѝ在很低的位率下Q画面会昑־很朦胧,但不会出现色块。而位率超q?00kbps之后其画质开始步入DVDRipQ因此RMVB可以在非怽的位率实现相当好的效果?br />

q前的市场来看Q歌X750Q?a target="_blank">艾诺V2000{几ƾ品,都采用了主频辑ֈ500MHz的ADI Blackfin 533处理器,q样一来网l上过85%的RMVB文g都可以直接在MP4播放器上直接播放了。而我们从|上下蝲的绝大多数RMVB?sh)媄昄都超q了480PQ而这个在?sh)脑上播攄分L率换到屏q尺寸相对较?yu)的MP4播放器时Q清晰度大大提高了Q换句话_׃没有q行二次的{换压~,配合RMVB格式本nҎ(gu)“雑֌”技术和动态比特率两个优势Q实C另一UŞ式的“高清”Q在随n播放器容量不断增大的今天Q我们可以轻杄播放器中拷入多部?sh)媄。而无{换,直接播放Qƈ且比以往M一U二ơ压~的视频格式更加清晰Q流畅!q就是直接支持RMVB格式播放器相对于现有视频播放器最大的优势所在!



]]>
MP3文g格式解析[摘]http://www.aygfsteel.com/xiaomage234/archive/2008/12/29/248909.html马?/dc:creator>马?/author>Mon, 29 Dec 2008 07:36:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/29/248909.htmlhttp://www.aygfsteel.com/xiaomage234/comments/248909.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/29/248909.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/248909.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/248909.html1Q?span style="font: 7pt Times New Roman; font-size-adjust: none; font-stretch: normal"> MP3?/span>

MP3是今天一U常见的音乐格式Q但恐怕除了工作要求之外,有兴对此进行研I的人恐怕不多。所以,当我打算?span>MP3解码斚w的工作时Q在找资料时也颇费了一番周折,同时也觉得很有趣。所以想在这里分享一下自q心得Q做一个ȝ性的介绍。这h兴趣的同志也可以Ҏ(gu)有一个大概了解,快入门?br />
MP3?span>MPEG-1 Audio Layer 3的简Uͼ是当今比较流行的一U数字音频编码和有损压羃格式Q有Layer 3Q也必然?span>Layer1?span>Layer2Q也是MP1?span>MP2Q但不在本文讨论范围之内Q?span>MP3技术的应该可以用来大幅度的降低音频文g存储所需要的I间。它丢掉脉冲~码调制Q?span>PCMQ音频数据中对hcd觉不重要得数据,从而达C较高的压~比Q高?span>12Q?span>1Q?span>10Q?span>1Q。简单地_MP3在编码时先对音频文gq行频谱分析Q然后用qo器o掉噪音电(sh)qI接着通过量化的方式将剩下的每一位打散排列,最后Ş成有较高压羃比的MP3文gQƈ使压~后的文件在回放时也能够辑ֈ比较接近原音源的效果?br />
MP3的音频质量取决于它的Bitrate?span>Sampling frequencyQ以及编码器质量?span>MP3的典型速度介于每秒128?span>320kb之间。采样频率也?span>44.1Q?span>48?span>32 kHz三种频率Q比较常见的是采?span>CD采样频率—?span>44.1kHz。常用的~码器是LAMEQ它完全遵@LGPL?span>MP3~码器,有着良好的速度和音质?/span>

 

2Q?span style="font: 7pt Times New Roman; font-size-adjust: none; font-stretch: normal">      MP3文g格式

用一个二q制查看器(比如Ultra-EditQ打开一?span>MP3文gQ就能看C大堆看似杂ؕ无序的数据。但只要用心了解׃知道Q其实,q一切都是有规律可@的?br />
MP3文g是由帧(frameQ构成,帧是MP3文g的最组成单位。每帧都包含帧头Qƈ可以计算帧的长度。根据的性质不同Q文件主要分Z个部分,ID3v2标签帧,数据帧和ID3v1标签帧。ƈ非每?span>MP3文g都有ID3v2Q但是数据?span>ID3v1帧是必须的?span>ID3v2在文件头Q以字符?#8220;ID3为标志,包含?span>演唱?span>Q作Ԍ专辑{信息,长度不固定,扩展了ID3V1的信息量?span>ID3v1在文件结,以字W串“TAG”为标讎ͼ光度是固定?span>128个字节,包含了演p、歌名、专辑、年份等信息?br />
I, ID3V2

ID3V2到现在一共有四个版本Q但行的播放Y件一般只支持W三版,?/span>ID3V2.3?/span>每个ID3V2.3 的标{N一个标{֤和若q个标签帧或一个扩展标{֤l成。关于曲目的信息如标题、作者等都存攑֜不同的标{֓中,扩展标签头和标签帧ƈ不是必要的,但每个标{至要有一个标{֓。标{֤和标{֓一起顺序存攑֜MP3 文g的首部?/span>

标签?/span>

长度?span>10个字节,位于文g首部Q其数据l构如下Q?/span>

char Header[3]; /* 字符?span> "ID3" */

char Ver;       /* 版本?span>ID3V2.3 p?span>3 */

char Revision; /* 副版本号此版本记录ؓ0 */

char Flag;     /* 存放标志的字节,q个版本只定义了三位Q很用刎ͼ可以忽略 */

char Size[4]; /* 标签大小Q除了标{֤?span>10 个字节的标签帧的大小 */

标签大小为四个字节,但每个字节只用低7位,最高位不用,恒ؓ0Q其格式如下Q?br /> 0xxxxxxx 0xxxxxxx 0xxxxxxx 0xxxxxxx

计算公式如下Q?/span>

ID3V2_frame_size = (int)(Size[0] & 0x7F) << 21
                 | (int)(Size[1] & 0x7F) << 14
                  | (int)(Size[2] & 0x7F) << 7
                  | (int)(Size[3] & 0x7F) + 10;


标签?/span>

每个标签帧都有一?span>10字节的头和臛_一个字节的不固定长度的内容l成。它们是序存放在文件中Q由各自特定的标{֤来标记的开始。其帧的l构如下Q?/span>

char FrameID[4];   /*用四个字W标识一个Q说明其内容 */

char Size[4];      /* 帧内容的大小Q不包括帧头Q不得小?span>1 */

char Flags[2];     /* 存放标志Q只定义?span>6 位,此处不再说明 */

常用帧标识:

TIT2Q标?br /> TPE1Q作?br /> TALBQ专?br /> TRCKQ?韌Q格式:N/MQ?span>N表示专辑中第几首Q?span>MZ辑中歌曲L
TYERQ年?br /> TCONQ类?br /> COMMQ备注,格式Q?#8220;eng\0备注内容”Q其?span>eng表示所使用的语a
帧大ؓ四个字节所表示的整数大?/span>


II, ID3V1

其数据结构如下:

char Header[3];    /* 标签头必L"TAG"否则认ؓ没有标签 */
char Title[30];    /*
标题 */
char Artist[30];   /*
作?*/
char Album[30];    /*
专集 */
char Year[4];      /*
出品q代 */
char Comment[28]; /*
备注 */
char reserve;      /*
保留 */
char track;;       /*
*/
char Genre;        /*
cd */

其实Q关于最?span>31个字节还存在另外一个版本,是30个字节的Comment和一个字节的Genre.

有了上述的这些信息,我们可以自己写代码Q从MP3文g中抓取信息以及修Ҏ(gu)件名了。但是,如果真的惛_一个播放YӞq是需要读它的数据帧,q进行解码?/span>


III,
数据?/span>

数据帧往往有多个,至于有多,由文件大和帧大来军_。每个都有一个四字节长的帧头Q接下来可能有两个字节的CRC校验Q其存在由头中的具体信息决定。接着是帧的实体数据Q也是MAIN_DATA了?/span>

A,帧头l构如下Q?/span>

位置     长度     描述
Q?span>BIT
Q?span>  Q?span>BITSQ?br /> ———————————————————————————?br /> 31Q?span>19   12       Frame sync(0xFFF)
18/17    2        Layer, 00 – reserved, 01 – Layer III
                         10 – Layer II, 11 Q?span> Layer I
16       1         protection_bit, 0 意味着?span>CRC保护Q头后面跟16位的CRC?br /> 15-12    4        bitrate_index, 比特?br /> 11-10    2        sampling_frequency,    00 – 44.1KHz, 01 – 48KHz
                                         10 – 32 KHz,  11 –
保留
9        1        padding_bit,1
意味着帧里包含padding位,仅当采样频率?span>44.1KHz时发生?br /> 8        1        private_bit
7Q?span>6     2        mode,    00Q?span>stereo,        01-joint stereo(intensity stereo and/or ms_stereo)
                           11- dual_channel, 11 – single_channel
5-4      2        mode_extension,?span>Layer III中表CZ用了哪一U?span>joint stereo~码方式?br />                             Intensity_stereo   ms_stereo
                   00            off                off
                   01            on                 off
                   10            off                on
                   11            on                 on
3        1        copyright,1 表示受版权保护?br /> 2        1        originalQ?span>0表示?span>bitstream是一?span>copyQ?span>1表示?span>original.
1-0      2        emphasisQ表CZ使用哪一U?span>de-emphasis?br />                    00 Q?span> no emphasis,     01 – 50/15 microsec. Emphasis
                   
10 – reserved,        11 – CCITT J.17

1)      无论帧长是多,每的播放时间都?span>26ms

2)      数据帧大:

FrameSize = 144 * Bitrate / SamplingRate + PaddingBit
?span>144 * Bitrate / SamplingRate
不能?span>8整除Q则加上相应?span>paddingBit.

B,MAIN_DATA:

MP3?span>granule包含18 * 32?span>subband采样。每个数据含有两个granule的数据,其内容结如下Q?/span>
       - main_data_end pointer
       - side info for both granules (scfsi)
       - side info granule 1
       - side info granule 2
       - scalefactors and Huffman code data granule 1
       - scalefactors and Huffman code data granule 2

主要数据里包含了scalefactors, Huffman encoded data?span>ancillary information。其内容不再详叙Q可以参?span>MP3 SPECQ?span>IS0 11172-3 AUDIO PART。我们一般用的都是立体声Q?span>scfsi的长度ؓ32个字节?/span>

q里要解释的一个概念就是位―?span>bitstream。我们^常接触到的数据都是整敎ͼ最的单位是byte后?span>char。虽然我们也会用一个字节里的不同位来表CZ同的含义Q但ȝ来说Q我们在出来数据的时候还是把它当作一个个字节看待。但?span>MP3q种数据格式来说Q这是行不通的。在解码Ӟ它的数据输入是一个个比特。其中一个或几个比特会是你的采样数据或者信息编码。你需要从整个MAIN_DATA里提取你所需要的?span>BIT为单位的参数和输入信P从而进行解码。所以我们需要一个子E序Q?span>getbit(n)Q也是从缓冲中提取所需要的位,qŞ成一个新的整敎ͼ作ؓ我们的输出?/span>

C,LAME标签?/span>

可是Q当你真的打开一?span>MP3文g的时候,你会发现Q很奇怪,很多时候第一个数据的头后面的32个字节居焉?span>0Q这是ؓ什么呢Q这么奇怪的解码信息该如何解释?扑ֈMP3 INFO TAG REV SPECIFICATION的网站,我才明白Q原来第一帧ƈ不是真正的数据Q而是LAME~码的标志?/span>

q里又要牉|C个概念:CBR?span>VBR?span>CBR表示比特率不变,也就是每帧的长度是一致的Q它以字W串“INFO”为标记?span>VBR?span>Variable BitRate的简Uͼ也就是每帧的比特率和帧的长度是变化的Q它以字W串“Xing”为标记。同Ӟ它还存放?span>MP3文g里的M敎ͼ?span>100个字节的播放L间分D늚帧的INDEXQ还有其他一些参敎ͼq被UCؓZone AQ传l?span>Xing VBR标签数据Q共120个字节?/span>

在二q制文本~辑器里我们q可看到一个字W串“LAME”Qƈ且后面清楚地跟着版本受这是20个字节的Zone B初始LAME信息Q表C文g是用LAME~码技术。接下来一直到该l束是Zone CQ?span>LAME标签?/span>

3Q?span style="font: 7pt Times New Roman; font-size-adjust: none; font-stretch: normal">      相关资料

× Mp3 Info Tag rev 1 specifications - draft 0

× MP3 文g格式

× MP3 SPECQ?span>IS0 11172-3 AUDIO PART


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1688758



]]>
抛弃FLVQ迎接MP4——制作Flash Player支持的H.264视频格式[转]http://www.aygfsteel.com/xiaomage234/archive/2008/12/23/247950.html马?/dc:creator>马?/author>Tue, 23 Dec 2008 09:44:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/23/247950.htmlhttp://www.aygfsteel.com/xiaomage234/comments/247950.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/23/247950.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/247950.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/247950.html

Flash Player 9.0.115发布了,q是一个支?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264的正式版本。关?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264Q已l说得太多,播放H.264的视频也很简单,用NetStream卛_Q也是播放FLV的那一套,想了解的可以?a title="xploring Flash Player support for high-definition H.264 video and AAC audio" target="_blank">q篇官方提供的教E?/a>Q,但是怎么把现有的视频压羃成Flash Player支持?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264格式呢?

首先Q要了解Flash Player 9.0.115对视频编码到底支持到哪个E度?/h3>

下面是Adobe官方提供的一个Flash Player支持的视频编码列表(原文Q:

视频~码 SWF 文g格式版本(发布的版? 支持播放的最Flash Player版本
Sorenson Spark 6 6
On2 VP6 6 8
H.264 (MPEG-4 Part 10) 9 9.0.115.0*
音频~码 SWF 文g格式版本(发布的版? 支持播放的最Flash Player版本
ADPCM 6 6
MP3 6 6
HE-AAC (MPEG-4 Part 3) 9 9.0.115.0*

*Flash Player 可以播放视频~码?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264Q音频编码ؓAAC的标准MPEG-4文g。文件的扩展名可以是QF4V, MP4, M4A, MOV, MP4V, 3GP, 3G2{等?/p>

注意Q如果没有特别说明,下面的Flash Player都指Flash Player 9(v 9.0.115.0)

Flash Player 9 (v 9.0.115.0) 支持下面?MPEG-4 标准的子集:

MPEG-4 标准 Flash Player Update 3
ISO/IEC 14496-3 (Audio AAC) AAC Main; AAC LC; SBR
ISO/IEC 14496-10 (Video AVC) Base (BP); Main (MP); High (HiP). All levels are supported.
ISO/IEC 14496-12 (Container) 1 Audio track; 1 Video track
3GPP TS 26.245 (Timed text format) Full support.

那么Q什么是H.264Q?#8220;MPEG4 Part 10”是什么?它和“Part 3”?#8220;Part 2” 有什么关p?可以?a title="MPEG4遭遇尬 三款高清晰编码大比拼" target="_blank">q篇文章?/p>

单的ԌH.264、MPEG4 Part 10、MPEG4 AVC和ISO/IEC 14496-10 都是一个东东,是一U视频编码格式,同时也是高清?sh)媄采用的视频编码格式之一Q另外两U是MPEG2和VC-1Q?/p>

而^常我们熟(zhn)的DivX以及XviD~码Q都属于MPEG4标准的范_但它们属于MPEG4 Part 2QFlash Player是不支持它们的?/p>

了解了基知识之后Q我们首先需要找C个编码工兗?/h3>

选择一个优U的压~工兯关重要。Flash CS3自带的用于压~?a class="st_tag internal_tag" title="标签 FLV 下的日志" >FLV的压~器自然是无法胜M。可是网上的视频转换工具多如牛毛Q要找一Ƒ֥用的真的很难。本着“免费、易用、专业、通吃”q四个标准,l过大量试Q终于找Cƾ优U的国产编码Y?a title="影音转码宝盒" target="_blank">MediaCoderQ中文名Q媄韌{码宝盒)Q以下是来自MediaCoder官方|站的介l:

MediaCoder是一个免费的通用音频/视频扚w转码工具Q它?yu)众多来自开源社区的优秀音频视频~解码器和工h合ؓ一个通用的解x案,可以音频、视频文件在各种格式之间q行转换?/p>

功能和特?/strong>

  • Z优秀的众多的开源编解码后台Q能够解码和~码的格式多
  • 极ؓ丰富的可调整的编码参?
  • 全部~解码器自带Q不依赖于系l的~解码器和Q何组?
  • 良好的可扩展的程序架构,快速适应新的需求,不断增加新的格式的支?
  • 利用脚本语言扩展的界面,有支持众多媄韌备(?a target="_blank">PSP?a target="_blank">iPodQ的专用界面
  • 高性能Q特别在双核处理器上表现优异


典型应用

  • 提高影音文g压羃率,减小其文件尺?
  • 转换臛_在各U媄韌备上播放的媄xӞ如MP3播放器、MP4播放器、手机、PDA、VCD/DVD播放?
  • 提取视频文g中的韌q{换成MP3?a class="st_tag internal_tag" title="标签 AAC 下的日志" >AAC、WMA{音频文?
  • 修复和改善一些损坏的、部分下载的或质量不佳的影音文g

支持格式

*仅支持输?/em>

~码工具搞定Q接着可?#8220;制作”q了?/h3>

我采用的源片是著名的Backkom Assa Game Contest片段Q片源编码如下:

G:\Movie\Backkom\Assa Game Contest.wmv
General
Complete name : G:\Movie\Backkom\Assa Game Contest.wmv
Format : Windows Media
File size : 1.89 MiB
PlayTime : 33s 991ms
Bit rate : 467 Kbps
Movie name : Assa
Performer : Aaron Lim
Copyright : rg animation studios
Comment : rg animation studios
Video
Codec : WMV3
Codec/Info : Windows Media Video 9
Bit rate : 408 Kbps
Width : 320 pixels
Height : 240 pixels
Aspect ratio : 4/3
Audio
Codec : WMA2
Codec/Info : Windows Media Audio 2
Bit rate : 48 Kbps
Channel(s) : 2 channels
Sampling rate : 44 KHz

在压~前Q最重要的就是在MediaCoder中选择视频~码和音频编码。根据上面的表格我们知道QFlash Player 9.0.115支持H.264视频~码和HE-AAC音频~码。下图是我在MediaCoder中的讄?/p>

H.264视频讄
H.264视频讄

 

HE-AAC音频~码
HE-AAC音频讄

 

h264video2
视频大小讄

这三个讄调整好即可?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264的编码优于WMV9Q所以在压羃的时候,选择的视频和音频码率都小于源文g的码率?/p>

转换完后的视频扩展名为MP4Q详l编码信息如下:

G:\Movie\Backkom\Assa Game Contest.mp4
General
Complete name : G:\Movie\Backkom\Assa Game Contest.mp4
Format : MPEG-4
Format/Info : ISO 14496-1 Base Media
Format/Family : MPEG-4
File size : 1.40 MiB
PlayTime : 33s 920ms
Bit rate : 347 Kbps
StreamSize : 11.2 KiB
Encoded date : UTC 2007-12-06 15:51:38
Tagged date : UTC 2007-12-06 15:51:38
Video #1
Codec : H.264
Codec/Info : H.264 (3GPP)
PlayTime : 33s 920ms
Bit rate : 314 Kbps
Width : 320 pixels
Height : 240 pixels
Aspect ratio : 4/3
Frame rate : 25.000 fps
Bits/(Pixel*Frame) : 0.160
StreamSize : 1.27 MiB
Encoded date : UTC 2007-12-06 15:51:38
Tagged date : UTC 2007-12-06 15:51:38
Audio #2
Codec : AAC LC-SBR
Codec/Info : AAC Low Complexity with Spectral Band Replication
PlayTime : 32s 415ms
Bit rate : 32 Kbps
Bit rate mode : VBR
Channel(s) : 2 channels
Sampling rate : 44 KHz
Resolution : 16 bits
StreamSize : 126 KiB
Encoded date : UTC 2007-12-06 15:51:38
Tagged date : UTC 2007-12-06 15:51:38

此视频在Flash Player 9.0.115中顺利播放,声音也没有问题?/p>

研究一下视频和音频的组?/h3>

Cq里Q就有一些问题了?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264视频是否一定要搭配AAC音频呢?搭配MP3行么Q我压羃了一个采?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264视频~码QMp3音频~码Q采用LAME MP3Q的qQ用l极解码播放正常Q但是在Flash Player中,只有囑փ可以昄Q却听不到声韟뀂下面是q个文g的编码信息:

F:\Material\Flash Platform\Flash\Cases\播放H.264视频\333.mp4
General
Complete name : F:\Material\Flash Platform\Flash\Cases\播放H.264视频\333.mp4
Format : MPEG-4
Format/Info : ISO 14496-1 Base Media
Format/Family : MPEG-4
File size : 2.59 MiB
PlayTime : 33s 920ms
Bit rate : 641 Kbps
StreamSize : 13.9 KiB
Encoded date : UTC 2007-12-05 09:21:21
Tagged date : UTC 2007-12-05 09:21:21
Video #1
Codec : H.264
Codec/Info : H.264 (3GPP)
PlayTime : 33s 920ms
Bit rate : 516 Kbps
Width : 320 pixels
Height : 240 pixels
Aspect ratio : 4/3
Frame rate : 25.000 fps
Bits/(Pixel*Frame) : 0.260
StreamSize : 2.09 MiB
Encoded date : UTC 2007-12-05 09:21:21
Tagged date : UTC 2007-12-05 09:21:21
Audio #2
Codec : MPEG-1 Audio
PlayTime : 32s 365ms
Bit rate : 128 Kbps
Bit rate mode : CBR
Channel(s) : 2 channels
Sampling rate : 44 KHz
Resolution : 16 bits
StreamSize : 506 KiB
Encoded date : UTC 2007-12-05 09:21:21
Tagged date : UTC 2007-12-05 09:21:21

又测试了H.264+MP3用AVI装?GP装Q在Flash Player中都无法播放声音。看来只?a class="st_tag internal_tag" title="标签 H.264 下的日志" >H.264+AAC可以被Flash Player支持。封装可以?GP或者MP4Q但不支持MKV装?/p>

关于装容器和视频文件后~

我们知道Q我们不能仅仅从视频文g的扩展名判断文g的编码。因为很多扩展名是支持多U编码的。例如AVI只是一U封装容器,它里面的视频和音频编码可以有很多U组合。可以是DivXQ也可以是XviDQ还可以是MPEG-1。下面的表格Q?a target="_blank">表格来源QZRong做部分调_单的描述了几U封装容器和视频、音频编码的对应情况Q?/p>
装容器 视频编码格?/strong> 音频编码格? Flash Player是否支持
AVI Xvid MP3 不支?/td>
AVI Divx MP3 不支?/td>
MKV Xvid MP3 不支?/td>
MKV Xvid AAC 不支?/td>
MKV H.264 AAC 不支?/td>
MP4 H.264 AAC 支持
3GP H.263 AAC 不支?/td>
3GP H.264 AAC 支持
FLV Sorenson Spark MP3 支持
FLV On2 VP6 MP3 支持

从上表可以看出,要让Flash Player成功播放H.264视频Q最好采?GP或者MP4装容器?/p>

AAC~码的؜乱情?/h3>

上面的压~,AAC~码器用的都是Nero EncoderQ其?#8220;规格”有这样几个选项QAuto、LC-AAC、LE-AAC和HE-AAC v2。经q测试,q几个规格压~的音频都可以被Flash Player支持?/p>

Nero Encoder的规? src=|
Nero Encoder的选项

如果采用CT AAC+~码器,选项变成了下面q样Q更加复杂了。经q测试,q几个选项的组合也都可以被Flash Player支持。不论选择MPEG-4 AACq是MPEG-2 AACQ都没有问题?/p>

h264ctaac
CT AAC+的选项

如果采用FAAC~码器,选项变成了下面q样。经q测试,q几个选项的组合也都可以被Flash Player支持QMPEG版本的选择也没有关pR?/p>

h264faac
FAAC的选项

事实上,NERO Encoder和CT AAC+中的LC-AACQ就是FAAC中的Low ComplexityQ无长时预测?a class="st_tag internal_tag" title="标签 AAC 下的日志" >AACQ;而NERO Encoder中的HE-AACQ就是CT AAC+中的aacPlusQ它加了SBR(spectral band replication)QHE代表high efficiency。这也是Z么前面压~WMV视频的时候,选择的是HE-AAC~码Q在~码之后的文件信息里面显C的却是下面q些内容的原因了Q?/p>

Codec : AAC LC-SBR
Codec/Info : AAC Low Complexity with Spectral Band Replication

Ҏ(gu)Adobe公布的信息,Flash Player支持q些AAC~码Q?a class="st_tag internal_tag" title="标签 AAC 下的日志" >AAC Main; AAC LC; SBR Q因此,我一般选择使用NERO Encoder的HE-AAC?/p>

参考链?/h3>
  1. http://bbs.lmtw.com/dispbbs.asp?boardID=111&ID=141583&page=1
  2. http://mediacoder.sourceforge.net/index_zh.htm
  3. http://www.sxzkw.com/1Qm/MediaCoder_jiaocheng_cn.swf
  4. http://www.adobe.com/devnet/flashplayer/articles/http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player.html
  5. http://tech.163.com/05/0624/11/1N0Q0HJ800091589.html
  6. http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402866&sliceId=1



]]>
?MEncoder ~码 H. 264 [转]http://www.aygfsteel.com/xiaomage234/archive/2008/12/22/247760.html马?/dc:creator>马?/author>Mon, 22 Dec 2008 06:55:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/22/247760.htmlhttp://www.aygfsteel.com/xiaomage234/comments/247760.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/22/247760.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/247760.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/247760.html?MEncoder ~码 H. 264 ?br /> In Mac, Miscs, Tools on 9 July 2008 tagged h264, mencoder with no comments

MEncoder 是常用的ȝ~码器,属于 mplayer 目的一部分Q这里介l了怎样?MEncoder ~码常见的视频流?/p>

首先Q要安装 x264 ~码库,mplayer 需要这个库才能加上 H. 264 ~码支持:


$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure
$ make && sudo make install


注意 x264 库需?yasm 汇编器,MacPorts 下可以用 sudo port install yasm 安装?/p>

然后~译 mplayer (包括 mencoder)?/p>


$ svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
$ cd mplayer
$ ./configure # 注意输出中是否有 "Checking for x264 ... yes" 字样
$ make && sudo make install


然后可以调?MEncoder ?


$ mencoder input.fmt -o output.fmt -ovc x264 -oac copy -x264encopts \
    bframes=4:b_pyramid:weight_b:pass=1:psnr:bitrate=1500:turbo=1


其中 input.fmt, output.fmt 分别是输入和输出文gQ其调用格式?MEncoder 的文档,而后?-x264encopts 的参数制定的?x264 ~码参数Q这是媄响编码质量和速度的地方,文档中也有专门一节详l说明,q里选取的是一个中{偏上的效果?br />



]]>
ffmpeg 安装常见问题的解?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2008/12/10/245548.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Wed, 10 Dec 2008 10:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2008/12/10/245548.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/245548.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2008/12/10/245548.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/245548.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/245548.html</trackback:ping><description><![CDATA[<p>1,lame下低点的版本Q比?lame-3.93.1<br /> 2,x264下蝲列表:ftp://ftp.videolan.org/pub/videolan/x264/snapshots [每天一个版本]<br /> 3,make版本?.81以上:ftp://ftp.gnu.org/gnu/<br /> 4,今天在公司编译ffmpegQ结?/configure 正常Q但是在make的时候出C下面的错误,在网上寻找,居然扑ֈ了解军_法,特{q来作ؓ自己的ȝQ方便日后查?/p> <p># make<br /> gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/yujingtao/soft/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -fomit-frame-pointer -pthread -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wcast-qual -Wwrite-strings -O3 -fno-math-errno       -c -o libavdevice/v4l.o libavdevice/v4l.c<br /> In file included from libavdevice/v4l.c:32:<br /> /usr/include/linux/videodev.h:55: error: syntax error before "ulong"<br /> /usr/include/linux/videodev.h:71: error: syntax error before '}' token<br /> libavdevice/v4l.c: In function `grab_read_header':<br /> libavdevice/v4l.c:77: error: storage size of 'tuner' isn't known<br /> libavdevice/v4l.c:141: error: invalid application of `sizeof' to incomplete type `video_tuner' <br /> libavdevice/v4l.c:148: error: invalid application of `sizeof' to incomplete type `video_tuner' <br /> libavdevice/v4l.c:77: warning: unused variable `tuner'<br /> make: *** [libavdevice/v4l.o] 错误 1</p> <p><br /> vi /usr/include/linux/videodev.h</p> <p>查找rangelow, rangehigh;      /* Tuner range */q一?br /> ?nbsp; ulong rangelow, rangehigh;      /* Tuner range */<br /> 改ؓQ?br />      unsigned long rangelow, rangehigh;      /* Tuner range */ <br /> <br /> 参考:<br /> http://www.2hei.net/mt/2008/08/ffmpeg-3gp-install.html<br /> </p> <img src ="http://www.aygfsteel.com/xiaomage234/aggbug/245548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2008-12-10 18:17 <a href="http://www.aygfsteel.com/xiaomage234/archive/2008/12/10/245548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ffmpeg+mencoder环境搭徏和视频处理ȝ[转]http://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245173.html马?/dc:creator>马?/author>Tue, 09 Dec 2008 02:48:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245173.htmlhttp://www.aygfsteel.com/xiaomage234/comments/245173.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245173.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/245173.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/245173.htmlffmpeg+mencoder几乎可以完成目前Zweb的播客^CQ何音视频处理的操?/span>.如果q需要添加一些什么的?/span>,那么是视频在线录制功能?/span>,q个也可以用ffmpeg+fms来完?/span>,因此一般的cM?/span>YouTube的一些可见功能都可以?/span>ffmpeg+mencoder+fms来做后台实现.׃fms没有实践,因此q里不描q?/span>.
 
本文档有三部?/span>:
 1)ffmpeg+mencoder
环境搭徏
 2)
常见操作说明
 3)
个h的一些用心?/span>

另外q包?a >视频截取和队列处理的shell实现


文档整理下蝲:/Files/xiaomage234/video.rar
/Files/xiaomage234/videotech-doc.rar

]]>
ffmpegQ?006/10/26-6793版) dll lib x264 vc6sp6~译成功[转]http://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245150.html马?/dc:creator>马?/author>Tue, 09 Dec 2008 01:53:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245150.htmlhttp://www.aygfsteel.com/xiaomage234/comments/245150.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245150.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/245150.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/245150.htmlffmpegQ?006/10/26-6793版) dll lib x264 vc6sp6~译成功
1. 下蝲最新的ffmpeg源代?br /> (1) 下蝲q安装Subversion (http://subversion.tigris.org/)
(2) q行svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

2. 下蝲安装最新的mingw和msys
(1) mingw通过?a target="_blank">http://prdownloads.sf.net/mingw/MinGW-5.0.3.exe?download下蝲mingw installer安装,我安装的时候选择了candidate
(2) msys?a target="_blank">http://www.mingw.org/下蝲安装
安装q后要填入mingw的\?比如d:/mingw

3. 下蝲安装最新的bash
(1) ?a target="_blank">http://www.mingw.org/下蝲最新的二进制版?br /> (2) 解压至msys的安装目录下

4. 在msys.bat中加入下面语句:
call "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

5. 在msys中编译ffmpeg
(1) ./configure --enable-shared --disable-static --enable-memalign-hack --prefix=d:/ffmpeg
(2) make
(3) make install

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
加入x264支持

0. 安装nasm

1. ~译x264
./configure --prefix=d:/mingw
make
make install

2. ~译ffmpeg
./configure --enable-shared --disable-static --enable-memalign-hack --enable-x264 --enable-gpl --prefix=d:/ffmpeg
make
make install


]]>
五个最?jng)_体格式{换器[转]http://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245149.html马?/dc:creator>马?/author>Tue, 09 Dec 2008 01:51:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245149.htmlhttp://www.aygfsteel.com/xiaomage234/comments/245149.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/12/09/245149.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/245149.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/245149.html  Super (Windows)

Super (Windows)

  Super是一个免费的媒体转换器,使用囑Ş界面的前端,后端是几个强大的命o行工P如FFmpeg、MEncoder和MPlayer.q个转化器拥有广泛的应用Q且可以Ҏ(gu)用户的喜好进行定刉项Q几乎可以{换Q何类型的文g。缺Ҏ(gu)操作控制和用较为؜乱,初次使用会感到设|较为麻烦?/p>

  FormatFactory (Windows)

FormatFactory (Windows)

  Format Factory是一个基于Windows的免费的媒体转换器,可以转换视频Q音频,甚至囄格式。Format Factory有美观大方的图标驱动的界面,易于使用Qƈ可以q行扚w的媒体{换?/p>

  MediaCoder (所有^?

MediaCoder

  MediaCoder是一个批处理媒体格式转换器,可以转换大多数流行的视频和音频格式。和SupercMQMediaCoder也是前端囑Ş界面Q后端ؓ大量命o行工PMediaCoder目前在所有^台都可用,但对Windows的支持最好。MediaCoderqؓiPhone、iPod touch和PSP提供Ҏ(gu)讑֤接口?/p>

  HandBrake (所有^?

HandBrake

  HandBrake是一个颇受欢q的开放源码媒体{换器Q可以将DVD视频~码转换为多U流行的输出格式。具有在囑Ş和命令行两种用户界面QHandBrake仅能够{换MPEG视频Q包括DVD视频Q,是一个很好的DVD转换工具?/p>

  FFmpeg (所有^?

FFmpeg

  FFmpeg是免费的、跨q_的命令行~码格式转换工具Q上面介l的不少囑Ş化工具实际上都是后台调用FFmpeg的,虽然FFmpeg的易用性较差,但不可否认FFmpeg是强大而灵zȝQFFmpeg使用命o行来q行格式转换?/p>

  英文原文Q?a target="_blank">Five Best Media Converters



]]>
FLV视频meta信息注入工具~http://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241584.html马?/dc:creator>马?/author>Thu, 20 Nov 2008 03:15:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241584.htmlhttp://www.aygfsteel.com/xiaomage234/comments/241584.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241584.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/241584.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/241584.html有的flv~少meta信息Q导致flash播放器不能播放?br /> 可以?flvmdi.exeq个工具q行meta信息的注入?br /> 本地下蝲地址Q?br /> /Files/xiaomage234/flvmeta.rar



]]>
MediaCoder 影音转码快Rhttp://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241575.html马?/dc:creator>马?/author>Thu, 20 Nov 2008 02:39:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241575.htmlhttp://www.aygfsteel.com/xiaomage234/comments/241575.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/11/20/241575.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/241575.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/241575.htmlMediaCoder是一个免费的通用音频/视频扚w转码工具Q它?yu)众多来自开源社区的优秀音频视频~解码器和工h合ؓ一个通用的解x案,可以音频、视频文件在各种格式之间q行转换。MediaCoder具备一个可扩展的架构和丰富的功能,可满_U场合下的{码需求。目前,MediaCoder已经拥有上百万分布在全世?70多个国家的用戗?/p>

功能和特?/strong>


典型应用

  • 提高影音文g压羃率,减小其文件尺?
  • 转换臛_在各U媄韌备上播放的媄xӞ如MP3播放器、MP4播放器、手机、PDA、VCD/DVD播放?
  • 提取视频文g中的韌q{换成MP3、AAC、WMA{音频文?
  • 修复和改善一些损坏的、部分下载的或质量不佳的影音文g


支持格式

*仅支持输?解码

工具主页Qhttp://www.mediacoderhq.com/index_zh.htm



]]>
DirectShowpd讲之三——开发自qFilter[转]http://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229945.html马?/dc:creator>马?/author>Fri, 19 Sep 2008 07:07:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229945.htmlhttp://www.aygfsteel.com/xiaomage234/comments/229945.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229945.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/229945.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/229945.html 首先Q从VC++的项目开始(L认你已经lVC++配置好了DirectX的开发环境)。写自己的FilterQ第一步是使用VC++建立一个Filter的项目。由于DirectX SDK提供了很多Filter的例子项目(位于DXSDK\samples\Multimedia\DirectShow\ Filters目录下)Q最单的Ҏ(gu)是拯一个,然后再在此基上修攏V但如果你是Filter开发的初学者,W者ƈ不赞成这么做?br /> 自己新徏一个Filter目也很单。用VC++的向|建立一个空?#8221;Win32 Dynamic-link Library”目。注意,几个文g是必L的:.def文gQ定义四个导出函敎ͼ定义Filtercȝ.cpp文g?h文gQƈ?cpp文g中定义Filter的注册信息以及两个Filter的注册函敎ͼDllRegisterServer和DllUnregisterServer。(注:Filter的注册信息是Filter在注册时写到注册表里的内容,格式可以参考SDK的示例代码,Filter相关的GUID务必使用GuidGen.exe产生。)接下去进行项目的讄QProject->Settings…Q。此Ӟ你可以打开一个SDK的例子项目进行对比,有些宏定义完全可以照抄,最后注意将输出文g的扩展名改ؓ.ax?br /> 上一讲曾l提到过Q在写Filter之前Q选择一个合适的Filter基类是至关重要的。ؓ此,你必d几个Filter的基cL相当的了解。在实际应用中,Filter的基cdƈ不L选择CBaseFilter的。相反,因ؓ我们l大部分写的都是中间的传输FilterQTransform FilterQ,所以基c选择CTransformFilter和CTransInPlaceFilter的居多。如果我们写的是源FilterQ我们可以选择CSource作ؓ基类Q如果是Renderer FilterQ可以选择CBaseRenderer或CBaseVideoRenderer{?br /> MQ选择好Filter的基cL很重要的。当Ӟ选择Filter的基cM是很灉|的,没有l对的标准。能够通过CTransformFilter实现的Filter当然也能从CBaseFilter一步一步实现。下面,W者就从本人的实际l验出发Q对Filter基类的选择提出几点供大家参考?br /> 首先Q你必须明确q个Filter要完成什么样的功能,卌对Filter目q行需求分析。请量保持Filter实现的功能的单一性。如果必要的话,你可以将需求分解,׃个(或者更多的Q功能单一的Filterd现ȝ功能需求?br /> 其次Q你应该明确q个Filter大致在整个Filter Graph的位|,q个Filter的输入是什么数据,输出是什么数据,有几个输入Pin、几个输出Pin{等。你可以dq个Filter的草图。弄清这一点十分重要,q将直接军_你用哪U?#8220;模型”的Filter。比如,如果Filter仅有一个输入Pin和一个输出PinQ而且一q一处的媒体cd相同Q则一般采用CTransInPlaceFilter作ؓFilter的基c;如果媒体cd不一P则一般选择CTransformFilter作ؓ基类?br /> 再者,考虑一些数据传输、处理的Ҏ(gu)性要求。比如Filter的输入和输出的Sampleq不是一一对应的,q就一般要在输入Pin上进行数据的~存Q而在输出Pin上用专门的U程q行数据处理。这U情况下QFilter的基c选择CSource为宜Q虽然这个Filterq不是源FilterQ?br /> 当Filter的基c选定了之后,Pin的基cMq应选定了。接下去Q就是Filter和Pin上的代码实现了。有一炚w要注意的是,从Y件设计的角度上来_应该你的逻辑cM码同Filter的代码分开。下面,我们一h看一下输入Pin的实现。你需要实现基cL有的U虚函数Q比如CheckMediaType{。在CheckMediaType内,你可以对媒体cdq行验,看是否是你期望的那种。因为大部分Filter采用的是推模式传输数据,所以在输入Pin上一般都实现了ReceiveҎ(gu)。有的基c里面已l实CReceiveQ而在FiltercM留一个纯虚函C用户重蝲q行数据处理。这U情况下一般是无需重蝲ReceiveҎ(gu)的,除非基类的实CW合你的实际要求。而如果你重蝲了ReceiveҎ(gu)Q一般会同时重蝲以下三个函数EndOfStream、BeginFlush和EndFlush。我们再来看一下输出Pin的实现。一般情况下Q你要实现基cL有的U虚函数Q除了CheckMediaTypeq行媒体cd查外Q一般还有DecideBufferSize以决定Sample使用内存的大,GetMediaType提供支持的媒体类型。最后,我们看一下Filtercȝ实现。首先当然也要实现基cȝ所有纯虚函数。除此之外,Filterq要实现CreateInstance以提供COM的入口,实现NonDelegatingQueryInterface以暴露支持的接口。如果我们创Z自定义的输入、输出PinQ一般我们还要重载GetPinCount和GetPin两个函数?br /> Filter框架的实现大致就是这栗你或许q想知道怎样在Filter上实C个自定义的接口,以及怎么实现Filter的属性页{等。限于篇q,W者就不展开阐述了。其实,q些问题都能在SDK的示例项目中扑ֈ{案。其他的Q关于在实际~程中应该注意的一些问题,W者整理了一下,供大家参考?br /> 1.    锁(LockQ问?br /> DirectShow应用E序臛_包含有两条线E:一条主U程和一条数据传输线E。既然是多线E,肯定会碰到线E同步的问题。Filter有两U锁QFilter对象锁和数据锁。Filter对象锁用于FilterU别的如Filter状态{换、BeginFlush、EndFlush{;数据锁用于数据处理U程内,比如Receive、EndOfStream{。如果这两种锁没有搞清楚Q很Ҏ(gu)产生E序的死锁,q一点特别需要提醒?br /> 2.    EndOfStream问题
当Filter接收到这?#8220;消息”Q意味着上一UFilter的数据都已经发送完毕。在q之后,如果Receive再有数据接收Q也不应该去理睬它。如果Filter对输入Pin上的数据q行了缓存,在接收到EndOfStream后应保所有缓存的数据都已l处理过了才能返回?br /> 3.    Media Seeking问题
一般情况下Q你只需要在Filter的输出Pin上实现NonDelegatingQueryInterfaceҎ(gu)Q当用户甌得到IID_ImediaPosition接口或IID_IMediaSeeking接口时将h往上一UFilter的输出Pin上传递。当Filter Graphq行Mediaseeking的时候,一般会调用Filter上的BeginFlush、EndFlush和NewSegment。如果你的FilterҎ(gu)据进行了~存Q你p重蝲它们Qƈ做出相应的处理。如果你的Filter负责l发送出ȝSample打时间戳Q那么,在Mediaseeking之后应该重新从零开始打赗?br /> 4.    关于使用专门的线E?br /> 如果你用了专门的线E进行数据的处理和发送,你需要特别小心,不要让线E进行死循环Qƈ且要让线E处理函数能够去时时查线E命令。应该确保在Filterl束工作的时候,U程也能正常地结束。有时候,你把GraphEditE序xQ但GraphEditq程仍在内存中,往往是因ؓ数据U程没有安全关闭q个原因?br /> 5.    如何从媒体类型中获取信息
比如Q你惛_输入Pinq接的媒体类型中Q获取视频图像的宽、高{信息,你应该在输入Pin的CompleteConnectҎ(gu)中实玎ͼ而不要在SetMediaType中?

]]>
DirectShowpd讲之二——Filter原理[转]http://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229943.html马?/dc:creator>马?/author>Fri, 19 Sep 2008 07:06:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229943.htmlhttp://www.aygfsteel.com/xiaomage234/comments/229943.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229943.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/229943.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/229943.html在上一讲中Q笔者介l了DirectShow的Mpȝ框架。从q一讲开始,我们要从E序员的角度Q进一步深入探讨一下DirectShow的应用以及Filter的开发?br /> 在这之前Q笔者首先要特别提一下微软提供的一个Filter试工具——GraphEditQ它的\径在DXSDK\bin\DXUtils\GraphEdit.exe。(如果(zhn)还没有安装DirectX SDKQ请到微软的|站上去下蝲。)通过q个工具Q我们可以很直观地看到Filter Graph的运行及处理程Q方便我们进行程序调试。(如果(zhn)手边就有电(sh)脑,q等什么,马上体验一下吧Q运行GraphEditQ执行File->Render Media File…选择一个媒体文Ӟ当Filter Graph构徏成功后,按下工具栏的q行按钮Q?zhn)p看到刚才选择的媒体文件被回放出来了!看到了吧Q写一个媒体播攑֙也就q么回事Q)
接下去,我们开讲Filter的开发?br /> 学习DirectShow Filter的开发,不外乎以下几U方法:看帮助文档、看CZ代码和看SDK基类源代码。看帮助文档Q应着重于M概念上的理解Q看CZ代码应与基类源代码的研究同步q行Q因己写FilterQ关键的W一步是选择一个合适的Filter基类和Pin的基cR对于Filter的把握,一般认掌握以下三方面的内容QFilter之间Pin的连接、Filter之间的数据传输以及流媒体的随问(或者说的定位Q。下面就开始分别进行阐q?br /> 所谓的Filter Pin之间的连接,实际上是Pin之间Media TypeQ媒体类型)的一个协商过E。连接L从输出Pin指向输入Pin的。要x入了解具体的q接q程Q就必须认真研读SDK的基cL代码Q位于DXSDK\samples\Multimedia\DirectShow\BaseClasses\amfilter.cppQ类CBasePin的ConnectҎ(gu)Q。连接的大致q程为,枚DƲ连接的输入Pin上所有的媒体cdQ逐一用这些媒体类型与输出Pinq行q接Q如果输出Pin也接受这U媒体类型,则Pin之间的连接宣告成功;如果所有输入Pin上枚丄媒体cd输出Pin都不支持Q则枚D输出Pin上的所有媒体类型,q一用这些媒体类型与输入Pinq行q接。如果输入Pin接受其中的一U媒体类型,则Pin之间的连接到此也宣告成功Q如果输出Pin上的所有媒体类型,输入Pin都不支持Q则q两个Pin之间的连接过E宣告失败?br /> 有一炚w要注意的是,上述的输入Pin与输出Pin一般不属于同一个FilterQ典型的是上一UFilterQ也叫Upstream FilterQ的输出Pinq向下一UFilterQ也叫Downstream FilterQ的输入Pin。如下图所C:



当Filter的Pin之间q接完成Q也是_q接双方通过协商取得了一U大安支持的媒体类型之后,卛_始ؓ数据传输做准备。这些准备工作中Q最重要的是Pin上的内存分配器的协商Q一般也是由输出Pin发v。在DirectShow Filter之间Q数据是通过一个一个数据包传送的Q这个数据包叫做Sample。Sample本n是一个COM对象Q拥有一D内存用以装载数据,Sampleq内存分配器(AllocatorQ来l一理。已成功q接的一对输出、输入Pin使用同一个内存分配器Q所以数据从输出Pin传送到输入Pin上是无需内存拯的。而典型的数据拯Q一般发生在Filter内部Q从Filter的输入Pin上读取数据后Q进行一定意囄处理Q然后在Filter的输出Pin上填充数据,然后l箋往下传输。下面,我们具体阐qC下Filter之间的数据传送?br /> 首先Q大家要区分一下Filter的两U主要的数据传输模式Q推模式QPush ModelQ和拉模?Pull Model)。参考图如下Q?/p>


  
所谓推模式Q即源FilterQSource FilterQ自p够生数据,q且一般在它的输出Pin上有独立的子U程负责数据发送出去,常见的情况如代表WDM模型的采集卡的Live Source FilterQ而所谓拉模式Q即源Filter不具有把自己的数据送出ȝ能力Q这U情况下Q一般源Filter后紧跟着接一个Parser Filter或Splitter FilterQ这UFilter一般在输入Pin上有个独立的子线E,负责不断C源Filter索取数据Q然后经q处理后数据传送下去,常见的情况如文g源。推模式下,源Filter是主动的Q拉模式下,源Filter是被动的。而事实上Q如果将上图拉模式中的源Filter和Splitter Filter看成另一个虚拟的源FilterQ则后面的Filter之间的数据传输也与推模式完全相同?br /> 那么Q数据到底是怎么通过q接着的Pin传输的呢Q首先来看推模式。在源Filter后面的Filter输入Pin上,一定实C一个IMemInputPin接口Q数据正是通过上一UFilter调用q个接口的ReceiveҎ(gu)q行传输的。值得注意的是Q上面已l提到过Q,数据从输出Pin通过ReceiveҎ(gu)调用传输到输入Pin上,q没有进行内存拷贝,它只是一个相当于数据到达?#8220;通知”。再看一下拉模式。拉模式下的源Filter的输出Pin上,一定实C一个IAsyncReader接口Q其后面的Splitter FilterQ就是通过调用q个接口的RequestҎ(gu)或者SyncReadҎ(gu)来获得数据。Splitter Filter然后像推模式一P调用下一UFilter输入Pin上的IMemInputPin接口ReceiveҎ(gu)实现数据的往下传送。深入了解这部分内容Q请认真研读SDK的基cL代码Q位于DXSDK\samples\Multimedia\DirectShow\BaseClasses\source.cpp和pullpin.cppQ?br /> 下面Q我们来讲一下流的定位(Media SeekingQ。在GraphEdit中,当我们成功构Z一个Filter Graph之后Q我们就可以播放它。在播放中,我们可以看到q度条也在相应地前进。当Ӟ我们也可以通过拖动q度条,实现随机讉K。要做到q一点,在应用程序别应该可以知道Filter Graphd要播攑֤长时_当前播放C么位|等{。那么,在FilterU别Q这一Ҏ(gu)怎么实现的呢Q?br /> 我们知道Q若q个Filter通过Pin的相互连接组成了Filter Graph。而这个Filter Graph是由另一个COM对象Filter Graph Manager来管理的。通过Filter Graph ManagerQ我们就可以得到一个IMediaSeeking的接口来实现Ҏ(gu)媒体的定位。在FilterU别Q我们可以看刎ͼFilter Graph Manager首先从最后一个FilterQRenderer FilterQ开始,询问上一UFilter的输出Pin是否支持IMediaSeeking接口。如果支持,则返回这个接口;如果不支持,则l往上一UFilter询问Q直到源Filter。一般在源Filter的输出Pin上实现IMediaSeeking接口Q它告诉调用者d有多长时间的媒体内容Q当前播放位|等信息。(如果是文件源Q一般在Parser Filter或Splitter Filter实现q个接口。)对于Filter开发者来_如果我们写的是源FilterQ我们就要在Filter的输出Pin上实现IMediaSeekingq个接口Q如果写的是中间的传输FilterQ只需要在输出Pin上将用户的获得接口请求往上传递给上一UFilter的输出PinQ如果写的是Renderer FilterQ需要在Filter上将用户的获得接口请求往上传递给上一UFilter的输出Pin。进一步的了解Q请认真研读SDK的基cL代码Q位于DXSDK\samples\Multimedia\DirectShow\BaseClasses\transfrm.cpp的类Ҏ(gu)CTransformOutputPin::NonDelegatingQueryInterface实现和ctlutil.cpp中类CPosPassThru的实玎ͼ?br /> 以上我们介绍了一下如何学习DirectShow Filter开发,以及一些开始写自己的Filter之前的预备知识。下一ԌW者将Ҏ(gu)自己开发Filter的经验,手把手教你如何写自己的Filter?br />



]]>
DirectShowpd讲之一——DirectShowpȝ概述[转]http://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229942.html马?/dc:creator>马?/author>Fri, 19 Sep 2008 07:05:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229942.htmlhttp://www.aygfsteel.com/xiaomage234/comments/229942.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229942.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/229942.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/229942.html

媒体的处理Q以其复杂性和技术性,一向广受工业界的关注。特别伴随着因特|的普及Q流媒体在网l上的广泛应用,怎样使流媒体的处理变得简单而富有成效逐渐成ؓ了焦炚w题。选择一U合适的应用Ҏ(gu)Q事半功倍。此Ӟ微Y的DirectShowQ给了我们一个不错的选择?br /> DirectShow是微软公司提供的一套在Windowsq_上进行流媒体处理的开发包Q与DirectX开发包一起发布。目前,DirectX最新版本ؓ9.0?br /> 那么QDirectShow能够做些什么呢Q且看,DirectShow为多媒体的捕捉和回放提供了强有力的支持。运用DirectShowQ我们可以很方便C支持WDM驱动模型的采集卡上捕h据,q且q行相应的后期处理乃臛_储到文g中。它q泛地支持各U媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave{等Q得多媒体数据的回攑֏得轻而易举。另外,DirectShowq集成了DirectX其它部分Q比如DirectDraw、DirectSoundQ的技术,直接支持DVD的播放,视频的非U性编辑,以及与数字摄像机的数据交换。更值得一提的是,DirectShow提供的是一U开攑ּ的开发环境,我们可以Ҏ(gu)自己的需要定制自qlg?br /> 接下去,我们需要对DirectShowpȝ有个整体的印象。参见以下DirectShow的系l示意图Q?/p>


图中央最大的一块即是DirectShowpȝ。DirectShow使用一U叫Filter Graph的模型来理整个数据的处理q程Q参与数据处理的各个功能模块叫做FilterQ各个Filter在Filter Graph中按一定的序q接成一?#8220;水U?#8221;协同工作。大家可以看刎ͼ按照功能来分QFilter大致分ؓ三类QSource Filters、Transform Filters和Rendering Filters。Source Filters主要负责取得数据Q数据源可以是文件、因特网、或者计机里的采集卡、数字摄像机{,然后数据往下传输;Transform Fitlers主要负责数据的格式{换、传输;Rendering Filtes主要负责数据的最l去向,我们可以数据送给声卡、显卡进行多媒体的演C,也可以输出到文gq行存储。值得注意的是Q三个部分ƈ不是都只有一个Filterd成功能。恰恰相反,每个部分往往是有几个Fitler协同工作的。比如,Transform Filters可能包含了一个Mpeg的解码Filter、以及视频色彩空间的转换Filter、音频采样频率{换Filter{等。除了系l提供的大量Filter外,我们可以定制自己的FilterQ以完成我们需要的功能。下图是一条典型的Avi文g回放Filter Graph链\Q?/p>



在DirectShowpȝ之上Q我们看到的Q即是我们的应用E序QApplicationQ。应用程序要按照一定的意图建立L应的Filter GraphQ然后通过Filter Graph Manager来控制整个的数据处理q程。DirectShow能在Filter Graphq行的时候接收到各种事gQƈ通过消息的方式发送到我们的应用程序。这P实C应用E序与DirectShowpȝ之间的交互。下囄ZDirectShow应用E序开发的一般过E:




以上单介l了DirectShow的系l结构,希望大家对这个强劲的应用框架已经有了大概的认识。如果你有兴,可以详细研究DirectX的帮助文档。DirectShow是一个强大的开发包Q另外,它是ZCOM的,因此要求E序员具有COM~程的一些基本知识。关于如何深入学习DirectShow应用l构以及开发自qFilterQ请参阅W者的后箋文章。笔者将从编E的角度Q详l讲q来源于实际工作中的l验之谈?br />



]]>
[转]AVI文g格式http://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229941.html马?/dc:creator>马?/author>Fri, 19 Sep 2008 07:03:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229941.htmlhttp://www.aygfsteel.com/xiaomage234/comments/229941.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229941.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/229941.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/229941.html来源:http://blog.csdn.net/happydeer

知识:AVI文g格式----摘自《DirectShow实务_N?作者:陆其?/span>

AVIQAudio Video Interleaved的羃写)是一URIFFQResource Interchange File Format的羃写)文g格式Q多用于韌频捕捉、编辑、回攄应用E序中。通常情况下,一个AVI文g可以包含多个不同cd的媒体流Q典型的情况下有一个音频流和一个视频流Q,不过含有单一音频或单一视频的AVI文g也是合法的。AVI可以是Windows操作pȝ上最基本的、也是最常用的一U媒体文件格式?/font>


先来介绍RIFF文g格式。RIFF文g使用四字W码FOURCCQfour-character codeQ来表征数据cdQ比?#8216;RIFF’?#8216;AVI ’?#8216;LIST’{。注意,Windows操作pȝ使用的字节顺序是little-endianQ因此一个四字符?#8216;abcd’实际的DWORD值应?x64636261。另外,四字W码中像‘AVI ’一样含有空g是合法的?/p>


RIFF文g首先含有一个如?.31的文件头l构?/font>

 

?.31 RIFF文gl构

最开始的4个字节是一个四字符?#8216;RIFF’Q表C是一个RIFF文gQ紧跟着后面?个字节表C此RIFF文g的大;然后又是一个四字符码说明文件的具体cdQ比如AVI、WAVE{)Q最后就是实际的数据。注意文件大值的计算Ҏ(gu)为:实际数据长度 + 4Q文件类型域的大)Q也是_文g大小的g包括‘RIFF’域和“文g大小”域本w的大小?/font>


RIFF文g的实际数据中Q通常q用了列表QListQ和块(ChunkQ的形式来组l。列表可以嵌套子列表和块。其中,列表的结构ؓQ?#8216;LIST’ listSize listType listData —?#8216;LIST’是一个四字符码,表示q是一个列表;listSize占用4字节Q记录了整个列表的大;listType也是一个四字符码,表示本列表的具体cdQlistData是实际的列表数据。注意listSize值的计算Ҏ(gu)为:实际的列表数据长?+ 4QlistType域的大小Q;也就是说listSizeg包括‘LIST’域和listSize域本w的大小。再来看块的l构QckID ckSize ckData ——ckID是一个表C块cd的四字符码;ckSize占用4字节Q记录了整个块的大小QckData为实际的块数据。注意ckSize值指的是实际的块数据长度Q而不包括ckID域和ckSize域本w的大小。(注意Q在下面的内容中Q将以LIST ( listType ( listData ) )的Ş式来表示一个列表,以ckID ( ckData )的Ş式来表示一个块Q如[ optional element ]中括号中的元素表CZؓ可选项。)


接下来介lAVI文g格式。AVI文gcd用一个四字符?#8216;AVI ’来表C。整个AVI文g的结构ؓQ一个RIFF?+ 两个列表Q一个用于描q媒体流格式、一个用于保存媒体流数据Q?+ 一个可选的索引块。AVI文g的展开l构大致如下Q?/p>

 

RIFF (‘AVI ’
      LIST (‘hdrl’
            ‘avih’(主AVI信息头数?
            LIST (‘strl’
                  ‘strh’ (的头信息数?
                  ‘strf’ (的格式信息数据)
                  [‘strd’ (可选的额外的头信息数据) ]
                  [‘strn’ (可选的的名字) ]
                  ...
                 )
             ...
           )
      LIST (‘movi’
            { SubChunk | LIST (‘rec ’
                              SubChunk1
                              SubChunk2
                              ...
                             )
               ...
            }
            ...
           )
      [‘idx1’ (可选的AVI索引块数? ]
     )

首先QRIFF (‘AVI ’…)表征了AVI文gcd。然后就是AVI文g必需的第一个列表—?#8216;hdrl’列表Q用于描qAVI文g中各个流的格式信息(AVI文g中的每一路媒体数据都UCؓ一个流Q?#8216;hdrl’列表嵌套了一pd块和子列表——首先是一?#8216;avih’块,用于记录AVI文g的全局信息Q比如流的数量、视频图像的宽和高等Q可以用一个AVIMAINHEADER数据l构来操作:

typedef struct _avimainheader {
    FOURCC fcc;   // 必须?#8216;avih’
    DWORD  cb;    // 本数据结构的大小Q不包括最初的8个字节(fcc和cb两个域)
    DWORD  dwMicroSecPerFrame;   // 视频帧间隔时_以毫Uؓ单位Q?br />     DWORD  dwMaxBytesPerSec;     // q个AVI文g的最大数据率
    DWORD  dwPaddingGranularity; // 数据填充的粒?br />     DWORD  dwFlags;         // AVI文g的全局标记Q比如是否含有烦引块{?br />     DWORD  dwTotalFrames;   // d?br />     DWORD  dwInitialFrames; // Z互格式指定初始敎ͼ非交互格式应该指定ؓ0Q?br />     DWORD  dwStreams;       // 本文件包含的的个数
    DWORD  dwSuggestedBufferSize; // d本文件的~存大小Q应能容Ux大的块)
    DWORD  dwWidth;         // 视频囑փ的宽Q以像素为单位)
    DWORD  dwHeight;        // 视频囑փ的高Q以像素为单位)
    DWORD  dwReserved[4];   // 保留
} AVIMAINHEADER;

然后Q就是一个或多个‘strl’子列表。(文g中有多少个流Q这里就对应有多个‘strl’子列表。)每个‘strl’子列表至包含一?#8216;strh’块和一?#8216;strf’块,?#8216;strd’块(保存~解码器需要的一些配|信息)?#8216;strn’块(保存的名字Q是可选的。首先是‘strh’块,用于说明q个的头信息,可以使用一个AVISTREAMHEADER数据l构来操作:

typedef struct _avistreamheader {
     FOURCC fcc;  // 必须?#8216;strh’
     DWORD  cb;   // 本数据结构的大小Q不包括最初的8个字节(fcc和cb两个域)
FOURCC fccType;    // 的cdQ?#8216;auds’Q音频流Q?#8216;vids’Q视频流Q?br />                    //‘mids’QMIDI)?#8216;txts’Q文字流Q?br />      FOURCC fccHandler; // 指定的处理者,对于韌频来说就是解码器
     DWORD  dwFlags;    // 标记Q是否允许这个流输出Q调色板是否变化Q?br />      WORD   wPriority;  // 的优先U(当有多个相同cd的流时优先最高的为默认流Q?br />      WORD   wLanguage;
     DWORD  dwInitialFrames; // Z互格式指定初始?br />      DWORD  dwScale;   // q个用的旉度
     DWORD  dwRate;
     DWORD  dwStart;   // 的开始时?br />      DWORD  dwLength;  // 的长度Q单位与dwScale和dwRate的定义有养I
     DWORD  dwSuggestedBufferSize; // dq个数据徏议用的~存大小
     DWORD  dwQuality;    // 数据的质量指标Q? ~ 10,000Q?br />      DWORD  dwSampleSize; // Sample的大?br />      struct {
         short int left;
         short int top;
         short int right;
         short int bottom;
}  rcFrame;  // 指定q个(视频或文字)在视频主H口中的昄位置
             // 视频ȝ口由AVIMAINHEADERl构中的dwWidth和dwHeight军_
} AVISTREAMHEADER;

然后?#8216;strf’块,用于说明的具体格式。如果是视频,则用一个BITMAPINFO数据l构来描qͼ如果是音频流Q则使用一个WAVEFORMATEX数据l构来描q?/font>


当AVI文g中的所有流都用一?#8216;strl’子列表说明了以后Q注意:‘strl’子列表出现的序与媒体流的编h对应的,比如W一?#8216;strl’子列表说明的是第一个流QStream 0Q,W二?#8216;strl’子列表说明的是第二个(Stream 1Q,以此cLQ,‘hdrl’列表的Q务也完成了Q随后跟着的就是AVI文g必需的第二个列表—?#8216;movi’列表Q用于保存真正的媒体数据(视频囑փ帧数据或音频采样数据{)。那么,怎么来组l这些数据呢Q可以将数据块直接嵌?#8216;movi’列表里面Q也可以几个数据块分组成一?#8216;rec ’列表后再~排q?#8216;movi’列表。(注意Q在dAVI文g内容Ӟ一?#8216;rec ’列表中的所有数据块一ơ性读出。)但是Q当AVI文g中包含有多个的时候,数据块与数据块之间如何来区别呢?于是数据块用了一个四字符码来表征它的cdQ这个四字符码由2个字节的cd码和2个字节的编L成。标准的cd码定义如下:‘db’Q非压羃视频帧)?#8216;dc’Q压~视频Q?#8216;pc’Q改用新的调色板Q?#8216;wb’Q音~视频)。比如第一个流QStream 0Q是音频Q则表征音频数据块的四字W码?#8216;00wb’Q第二个(Stream 1Q是视频Q则表征视频数据块的四字W码?#8216;00db’?#8216;00dc’。对于视频数据来_在AVI数据序列中间q可以定义一个新的调色板Q每个改变的调色板数据块?#8216;xxpc’来表征,新的调色板用一个数据结构AVIPALCHANGE来定义。(注意Q如果一个流的调色办中途可能改变,则应在这个流格式的描qCQ也是AVISTREAMHEADERl构的dwFlags中包含一个AVISF_VIDEO_PALCHANGES标记。)另外Q文字流数据块可以用随意的cd码表征?/p>


最后,紧跟?#8216;hdrl’列表?#8216;movi’列表之后的,是AVI文g可选的索引块。这个烦引块为AVI文g中每一个媒体数据块q行索引Qƈ且记录它们在文g中的偏移Q可能相对于‘movi’列表Q也可能相对于AVI文g开_。烦引块使用一个四字符?#8216;idx1’来表征,索引信息使用一个数据结构来AVIOLDINDEX定义?/p>

 

typedef struct _avioldindex {
   FOURCC  fcc;  // 必须?#8216;idx1’
   DWORD   cb;   // 本数据结构的大小Q不包括最初的8个字节(fcc和cb两个域)
   struct _avioldindex_entry {
      DWORD   dwChunkId;   // 表征本数据块的四字符?br />       DWORD   dwFlags;     // 说明本数据块是不是关键、是不是‘rec ’列表{信?br />       DWORD   dwOffset;    // 本数据块在文件中的偏U量
      DWORD   dwSize;      // 本数据块的大?br />   } aIndex[]; // q是一个数l!为每个媒体数据块都定义一个烦引信?br /> } AVIOLDINDEX;

注意Q如果一个AVI文g包含有烦引块Q则应在主AVI信息头的描述中,也就是AVIMAINHEADERl构的dwFlags中包含一个AVIF_HASINDEX标记?/font>


q有一U特D的数据块,用一个四字符?#8216;JUNK’来表征,它用于内部数据的队齐Q填充)Q应用程序应该忽略这些数据块的实际意义?/font>



]]>
用FFmpeg从视频截取Q意一帧图片的解决办法~ zzhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229940.html马?/dc:creator>马?/author>Fri, 19 Sep 2008 07:01:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229940.htmlhttp://www.aygfsteel.com/xiaomage234/comments/229940.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/09/19/229940.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/229940.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/229940.html另一日?/a>?说到利用FFmpeg从视频截囄命o,那天在找从视频截取指定的图片的办法,q么多天没有q展,原来我从|上扄关于FFmpeg的参数命令列表ƈ不全,了-ssq么一个参?于是q个问题也到现在才解?

    今天利用FFmpeg -h > ffmpeg.txt,把FFmpeg的命令打印出来后,才发Cq一参数:

-ss time_off set the start time offset

使用-ss参数,可以从指定的旉开始处理{换Q??

ffmpeg -i test2.asf -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg

那么从Q意一帧截囄问题也就解决?只要-ss后的旉参数是随Z?q且在视频的有效旉?可以了.

 另外,-ss后跟的时间单位ؓU?br />
2006
-06-27 补充Q?/span>


另外Q通过指定
-ssQ和-vframes也可以达到同L效果?br />
q时?/span>-ss参数后跟的时间有两种写法,hh:mm:ss ?nbsp;直接写秒?nbsp;:

ffmpeg 
-i test.asf --f  image2  -ss 00:01:00 -vframes 1  test1.jpg
or
ffmpeg 
-i test.asf --f  image2  -ss 60 -vframes 1  test1.jpg

q样输出的图片是相同的?/span>


]]>
վ֩ģ壺 ¤| | ʩ| | | | ¹| | Ӵ| | ȫ| | µ| | ֣| ʡ| ű| | ͨ| | Դ| | ƽ| | | ֺ| ͺ| | dz| ͬ| | | ̩| ƽ| | ͬ| | | Ͻ| ޵| ػʵ|