|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="zh-CN"><head><style>.login-box{position: fixed;display: none;left: 50%;top: 50%;z-index: 10000;-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);-o-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);transform: translate(-50%, -50%);background-color: #fff;}.login-mark{position: fixed;top: 0;left: 0;z-index: 9999;background-color: rgba(0, 0, 0, 0.5);width: 100%;height: 100%;display: none;}</style><script type="text/javascript" async="" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/auto_dup"></script><script type="text/javascript" charset="utf-8" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/apiaccept"></script><script type="text/javascript" async="" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/pr.js"></script>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<link rel="canonical" href="https://blog.csdn.net/wongainia158158/article/details/48627039">
|
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
|
|
|
<meta name="renderer" content="webkit">
|
|
|
|
|
<meta name="force-rendering" content="webkit">
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
|
|
|
<meta name="referrer" content="always">
|
|
|
|
|
<meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="#">
|
|
|
|
|
<meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
|
|
|
|
|
<meta name="csdn-baidu-search" content="{"autorun":true,"install":true,"keyword":"LibRTMP源代码分析9:接收消息 - wongainia158158的博客"}">
|
|
|
|
|
|
|
|
|
|
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
|
|
|
|
|
<title>LibRTMP源代码分析9:接收消息 - wongainia158158的博客 - CSDN博客</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/detail-a0a545005c.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/skin3-template-9b39979775.css">
|
|
|
|
|
<script type="text/javascript" async="" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/icgkglf.js"></script><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/hm.js"></script><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/hm.js"></script><script type="text/javascript">
|
|
|
|
|
var username = "wongainia158158";
|
|
|
|
|
var blog_address = "https://blog.csdn.net/wongainia158158";
|
|
|
|
|
var static_host = "https://csdnimg.cn/release/phoenix/";
|
|
|
|
|
var currentUserName = "";
|
|
|
|
|
var isShowAds = true;
|
|
|
|
|
var isOwner = false;
|
|
|
|
|
var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/wongainia158158/article/details/48627039"
|
|
|
|
|
var blogUrl = "https://blog.csdn.net/";
|
|
|
|
|
//页面皮肤样式
|
|
|
|
|
var curSkin = "skin3-template";
|
|
|
|
|
// 第四范式所需数据
|
|
|
|
|
var articleTitles = "LibRTMP源代码分析9:接收消息 - wongainia158158的博客";
|
|
|
|
|
var articleID = "48627039";
|
|
|
|
|
|
|
|
|
|
var nickName = "wongainia158158";
|
|
|
|
|
var isCorporate = false;
|
|
|
|
|
var subDomainBlogUrl = "https://blog.csdn.net/"
|
|
|
|
|
</script>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
// Traffic Stats of the entire Web site By baidu
|
|
|
|
|
var _hmt = _hmt || [];
|
|
|
|
|
(function() {
|
|
|
|
|
var hm = document.createElement("script");
|
|
|
|
|
hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
|
|
|
|
|
var s = document.getElementsByTagName("script")[0];
|
|
|
|
|
s.parentNode.insertBefore(hm, s);
|
|
|
|
|
})();
|
|
|
|
|
// Traffic Stats of the entire Web site By baidu end
|
|
|
|
|
</script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/jquery-1.js" type="text/javascript"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/main-1.js"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/fixed-sidebar.js" type="text/javascript"></script>
|
|
|
|
|
<!-- 新版上报 -->
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/track.js" type="text/javascript"></script>
|
|
|
|
|
<!-- 新版上报end -->
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/sandalstrap.css">
|
|
|
|
|
<style>
|
|
|
|
|
.MathJax, .MathJax_Message, .MathJax_Preview{
|
|
|
|
|
display: none
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<style type="text/css" id="QIHOO_FEED_CSS">newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398677_486 info-div{display:block}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 20px 0px 0px 20px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 880px;
|
|
|
|
|
height: 80px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 880px;
|
|
|
|
|
height: 80px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 68px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 68px;
|
|
|
|
|
border-radius: 0px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 790px;
|
|
|
|
|
height: 80px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398677_486 px {paddingRight}.QIHOO__WEB__SO__1551757398677_486 px {paddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398677_486 px {paddingRight}.QIHOO__WEB__SO__1551757398677_486 px {paddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398677_486 px {paddingRight}.QIHOO__WEB__SO__1551757398677_486 px {paddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398677_486 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398677_486
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398726_120 info-div{display:block}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 52px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 52px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 52px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 52px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 52px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398726_120 px {paddingRight}.QIHOO__WEB__SO__1551757398726_120 px {paddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398726_120 px {paddingRight}.QIHOO__WEB__SO__1551757398726_120 px {paddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398726_120 px {paddingRight}.QIHOO__WEB__SO__1551757398726_120 px {paddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398726_120 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398726_120
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398775_645 info-div{display:block}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 10px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 810px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398775_645 px {paddingRight}.QIHOO__WEB__SO__1551757398775_645 px {paddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398775_645 px {paddingRight}.QIHOO__WEB__SO__1551757398775_645 px {paddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398775_645 px {paddingRight}.QIHOO__WEB__SO__1551757398775_645 px {paddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398775_645 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398775_645
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398853_387 info-div{display:block}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398853_387 px {paddingRight}.QIHOO__WEB__SO__1551757398853_387 px {paddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398853_387 px {paddingRight}.QIHOO__WEB__SO__1551757398853_387 px {paddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398853_387 px {paddingRight}.QIHOO__WEB__SO__1551757398853_387 px {paddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398853_387 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398853_387
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398904_111 info-div{display:block}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398904_111 px {paddingRight}.QIHOO__WEB__SO__1551757398904_111 px {paddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398904_111 px {paddingRight}.QIHOO__WEB__SO__1551757398904_111 px {paddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398904_111 px {paddingRight}.QIHOO__WEB__SO__1551757398904_111 px {paddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398904_111 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398904_111
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757398975_12 info-div{display:block}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398975_12 px {paddingRight}.QIHOO__WEB__SO__1551757398975_12 px {paddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398975_12 px {paddingRight}.QIHOO__WEB__SO__1551757398975_12 px {paddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757398975_12 px {paddingRight}.QIHOO__WEB__SO__1551757398975_12 px {paddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {paddingLeft}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingRight}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757398975_12 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757398975_12
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551757399033_760 info-div{display:block}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399033_760 px {paddingRight}.QIHOO__WEB__SO__1551757399033_760 px {paddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399033_760 px {paddingRight}.QIHOO__WEB__SO__1551757399033_760 px {paddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399033_760 px {paddingRight}.QIHOO__WEB__SO__1551757399033_760 px {paddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399033_760 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399033_760
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886 info-div{display:block}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 0px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 762px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399045_886 px {paddingRight}.QIHOO__WEB__SO__1551757399045_886 px {paddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399045_886 px {paddingRight}.QIHOO__WEB__SO__1551757399045_886 px {paddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399045_886 px {paddingRight}.QIHOO__WEB__SO__1551757399045_886 px {paddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 852px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399045_886 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399045_886
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202 info-div{display:block}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage{
|
|
|
|
|
background-color:#fff;
|
|
|
|
|
padding: 10px 0px 0px 0px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position:relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .wrap{
|
|
|
|
|
position:relative;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .visited .singleImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
padding: 0px 0px;
|
|
|
|
|
display: block;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-left{
|
|
|
|
|
float:left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.singleImage .singleImage-img-right{
|
|
|
|
|
float:right;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img-top{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.singleImage .singleImage-img-bottom{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom : 0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-img .img{
|
|
|
|
|
width: 90px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body{
|
|
|
|
|
width: 810px;
|
|
|
|
|
height: 74px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-body-left{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.singleImage .singleImage-body-right{
|
|
|
|
|
float: left;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.singleImage .singleImage-body-top{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.singleImage .singleImage-body-bottom{
|
|
|
|
|
position:absolute;
|
|
|
|
|
top:0;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title{
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #000;
|
|
|
|
|
padding: 0px 0px 5px 16px;
|
|
|
|
|
display: block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-title:hover{
|
|
|
|
|
color: #000;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.singleImage .singleImage-desc{
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-family: Microsoft Yahei;
|
|
|
|
|
color: #8e959a;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 0px 0px 0px 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.singleImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202 .mulImage .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage{.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399065_202 px {paddingRight}.QIHOO__WEB__SO__1551757399065_202 px {paddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImage .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202 .mulImageWindow .visited .mulimg-title{
|
|
|
|
|
color:#9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow{.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399065_202 px {paddingRight}.QIHOO__WEB__SO__1551757399065_202 px {paddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-title {
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color: {hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-grid-wrap{
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-figure-grid{
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-figure{
|
|
|
|
|
float: left;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
margin-right:{imageSplitWidth}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-figure-img {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 0px NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .img{
|
|
|
|
|
width:NaNpx;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
height:{imgH}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-figure-img .window-item__title{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background-color: rgba(0,0,0,0.5);
|
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
|
|
|
|
|
color: #fff;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-size: {windowItemTitleFontSize}px;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
|
|
|
|
|
.mulImageWindow .mulimg-extra{
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-extra .mul-ads-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.mulImageWindow .mulimg-extra .ads-tag{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202 .largeImage .visited .largeImage-title{
|
|
|
|
|
color: #9e9e9e;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage{.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {paddingTop}.QIHOO__WEB__SO__1551757399065_202 px {paddingRight}.QIHOO__WEB__SO__1551757399065_202 px {paddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {paddingLeft}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
background-color:{backgroundColor};
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-wrapper {
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
width: 900px;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-title {
|
|
|
|
|
display: none;
|
|
|
|
|
overflow: hidden;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color: {titleFontColor};.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingRight}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingBottom}.QIHOO__WEB__SO__1551757399065_202 px {titlePaddingLeft}px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
letter-spacing:0.05em;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
color:{hoverColor};
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-body{
|
|
|
|
|
position: relative;
|
|
|
|
|
vertical-align: top;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-grid-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: NaNpx 0px;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
width:{imgW}px;
|
|
|
|
|
height:NaNpx;.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
border-radius:{imageBorderRadius}px;
|
|
|
|
|
position: relative;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-extra {
|
|
|
|
|
display: none;
|
|
|
|
|
color: #999;
|
|
|
|
|
height: NaNpx;
|
|
|
|
|
line-height: NaNpx;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-tag{
|
|
|
|
|
width: 30px;
|
|
|
|
|
color: #ddd;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .largeImage-extra .largeImage-ad-src{
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: #999;
|
|
|
|
|
display: inline;
|
|
|
|
|
}.QIHOO__WEB__SO__1551757399065_202
|
|
|
|
|
.largeImage .ads-tag{
|
|
|
|
|
position: absolute;
|
|
|
|
|
display : block;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 22px;
|
|
|
|
|
height: 12px;
|
|
|
|
|
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
|
|
|
|
|
}</style><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/share.js"></script><link rel="stylesheet" type="text/css" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/goTop.css"><style type="text/css">pre{position: relative}pre:hover .hljs-button{display: block}.hljs-button{display: none;position: absolute;right: 4px;top: 4px;font-size: 12px;color: #4d4d4d;background-color: white;padding: 2px 8px;margin: 8px;border-radius: 4px;cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);}.hljs-button:after{content: attr(data-title)}</style><style type="text/css">.hljs-ln{border-collapse:collapse} .hljs-ln td{padding:0} .hljs-ln-n{text-align: right;padding-right: 8px;} .hljs-ln-n:before{content:attr(data-line-number)}</style><script charset="UTF-8" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/bwordcom"></script><script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/check-adb.js"></script><script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/baidu_opensug-1.js"></script><link rel="stylesheet" type="text/css" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/check-adb.css"><script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/fuckadblock.js"></script><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
|
|
|
|
|
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
|
|
|
|
|
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
|
|
|
|
|
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
|
|
|
|
|
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
|
|
|
|
|
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
|
|
|
|
|
#MathJax_About.MathJax_MousePost {outline: none}
|
|
|
|
|
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
|
|
|
|
|
.MathJax_MenuItem {padding: 2px 2em; background: transparent}
|
|
|
|
|
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
|
|
|
|
|
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
|
|
|
|
|
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
|
|
|
|
|
.MathJax_MenuCheck {position: absolute; left: .7em}
|
|
|
|
|
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
|
|
|
|
|
.MathJax_MenuRadioCheck {position: absolute; left: 1em}
|
|
|
|
|
.MathJax_MenuRadioCheck.RTL {right: 1em; left: auto}
|
|
|
|
|
.MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic}
|
|
|
|
|
.MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px}
|
|
|
|
|
.MathJax_MenuDisabled {color: GrayText}
|
|
|
|
|
.MathJax_MenuActive {background-color: Highlight; color: HighlightText}
|
|
|
|
|
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
|
|
|
|
|
.MathJax_ContextMenu:focus {outline: none}
|
|
|
|
|
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
|
|
|
|
|
#MathJax_AboutClose {top: .2em; right: .2em}
|
|
|
|
|
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
|
|
|
|
|
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
|
|
|
|
|
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
|
|
|
|
|
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
|
|
|
|
|
.MathJax_MenuClose:hover span {background-color: #CCC!important}
|
|
|
|
|
.MathJax_MenuClose:hover:focus {outline: none}
|
|
|
|
|
</style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important}
|
|
|
|
|
</style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
|
|
|
|
|
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
|
|
|
|
|
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
|
|
|
|
|
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
|
|
|
|
|
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
|
|
|
|
|
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
|
|
|
|
|
</style><style type="text/css">.MathJax_Preview {color: #888}
|
|
|
|
|
#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
|
|
|
|
|
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
|
|
|
|
|
.MathJax_Error {color: #CC0000; font-style: italic}
|
|
|
|
|
</style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/share_style0_16.css"><style type="text/css">.MJXp-script {font-size: .8em}
|
|
|
|
|
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
|
|
|
|
|
.MJXp-bold {font-weight: bold}
|
|
|
|
|
.MJXp-italic {font-style: italic}
|
|
|
|
|
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
|
|
|
|
|
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
|
|
|
|
|
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
|
|
|
|
|
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
|
|
|
|
|
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
|
|
|
|
|
.MJXp-largeop {font-size: 150%}
|
|
|
|
|
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
|
|
|
|
|
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
|
|
|
|
|
.MJXp-display {display: block; text-align: center; margin: 1em 0}
|
|
|
|
|
.MJXp-math span {display: inline-block}
|
|
|
|
|
.MJXp-box {display: block!important; text-align: center}
|
|
|
|
|
.MJXp-box:after {content: " "}
|
|
|
|
|
.MJXp-rule {display: block!important; margin-top: .1em}
|
|
|
|
|
.MJXp-char {display: block!important}
|
|
|
|
|
.MJXp-mo {margin: 0 .15em}
|
|
|
|
|
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
|
|
|
|
|
.MJXp-denom {display: inline-table!important; width: 100%}
|
|
|
|
|
.MJXp-denom > * {display: table-row!important}
|
|
|
|
|
.MJXp-surd {vertical-align: top}
|
|
|
|
|
.MJXp-surd > * {display: block!important}
|
|
|
|
|
.MJXp-script-box > * {display: table!important; height: 50%}
|
|
|
|
|
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
|
|
|
|
|
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
|
|
|
|
|
.MJXp-script-box > * > * > * {display: block!important}
|
|
|
|
|
.MJXp-mphantom {visibility: hidden}
|
|
|
|
|
.MJXp-munderover {display: inline-table!important}
|
|
|
|
|
.MJXp-over {display: inline-block!important; text-align: center}
|
|
|
|
|
.MJXp-over > * {display: block!important}
|
|
|
|
|
.MJXp-munderover > * {display: table-row!important}
|
|
|
|
|
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
|
|
|
|
|
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
|
|
|
|
|
.MJXp-mtr {display: table-row!important}
|
|
|
|
|
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
|
|
|
|
|
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
|
|
|
|
|
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
|
|
|
|
|
.MJXp-mlabeledtr {display: table-row!important}
|
|
|
|
|
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
|
|
|
|
|
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
|
|
|
|
|
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
|
|
|
|
|
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
|
|
|
|
|
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
|
|
|
|
|
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
|
|
|
|
|
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
|
|
|
|
|
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
|
|
|
|
|
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
|
|
|
|
|
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
|
|
|
|
|
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
|
|
|
|
|
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
|
|
|
|
|
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
|
|
|
|
|
.MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
|
|
|
|
|
</style></head>
|
|
|
|
|
<!-- nodata 第三栏接口无数据时样式不变 -->
|
|
|
|
|
<body class="nodata "><div id="BAIDU_DUP_fp_wrapper" style="position: absolute; left: -1px; bottom: -1px; z-index: 0; width: 0px; height: 0px; overflow: hidden; visibility: hidden; display: none;"><iframe id="BAIDU_DUP_fp_iframe" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/o.htm" style="width: 0px; height: 0px; visibility: hidden; display: none;"></iframe></div><div id="MathJax_Message" style="display: none;"></div><svg aria-hidden="true" style="position: absolute; width: 0px; height: 0px; overflow: hidden;"><symbol id="csdnc-zhifubao" viewBox="0 0 1756 1024"><path d="M1002.928571 659.892857c-85.285714 102.392857-173.5 165-307.214286 165s-221.892857-82.5-210.5-182c5.714286-65.392857 51.214286-173.5 247.5-156.392857 102.392857 8.5 150.785714 28.392857 236.107143 56.892857 22.785714-39.785714 39.785714-85.285714 54-130.785714L647.321429 412.607143l0-37 184.892857 0L832.214286 310 607.5 310 607.5 267.285714l224.714286 0L832.214286 170.607143c0 0 2.785714-14.214286 19.892857-14.214286l93.892857 0 0 110.892857 238.892857 0 0 39.785714-241.785714 0L943.107143 372.5l196.285714 0c-17.107143 74-45.5 142.214286-79.607143 199.107143 48.392857 17.107143 244.607143 76.785714 301.5 93.892857L1361.285714 167.785714c0-79.607143-65.392857-142.214286-142.214286-142.214286L533.607143 25.571429c-79.714286 0-142.285714 65.392857-142.285714 142.214286l0 688.392857c0 79.607143 65.392857 142.214286 142.214286 142.214286l688.392857 0c79.607143 0 142.214286-65.392857 142.214286-142.214286l0-34.214286C1315.714286 799.285714 1099.607143 705.392857 1002.928571 659.892857zM525 634.285714c-8.5 37 14.214286 125.214286 156.392857 125.214286 85.285714 0 170.714286-54 238.892857-142.214286-96.714286-48.392857-176.392857-71.107143-267.392857-71.107143C573.321429 549 533.5 597.285714 525 634.285714z"></path></symbol><symbol id="csdnc-alevel-3" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#83B53A"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2547.65059507 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266976 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973378c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h236.43973378c2.15926698 0 3.23890047-1.24157852 3.23890047-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890047-3.7787172h-243.99716821V473.13319444h228.34248263c2.5371387 0 3.7787172-1.07963349 3.77871723-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871723-3.7787172h-220.7850482c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h220.7850482c20.51303627 0 38.05708044 7.28752604 52.63213254 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.716
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/content_toolbar.css">
|
|
|
|
|
<script id="toolbar-tpl-scriptId" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/content_toolbar.js" type="text/javascript" domain="https://blog.csdn.net/"></script><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/notify.js"></script><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/main.js"></script><script class="toolbar-s" type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/iconfont.js"></script>
|
|
|
|
|
<div id="kp_box_476" data-pid="476" data-track-click="{"mod":"kp_popu_476-844","con":",,"}"><script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/indexSuperise.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
window.csdn.indexSuperise({
|
|
|
|
|
smallMoveImg: '//img-ads.csdn.net/2019/201903041152101856.jpg',
|
|
|
|
|
bigMoveImg: '//img-ads.csdn.net/2019/201903041152319311.jpg',
|
|
|
|
|
link:'//h5.youzan.com/v2/showcase/goods?alias=1y922sfobvtfj',
|
|
|
|
|
boxStyle:140,
|
|
|
|
|
trackSuperId:476,
|
|
|
|
|
smallMove:'notMove',
|
|
|
|
|
trackSId:794
|
|
|
|
|
});
|
|
|
|
|
</script></div><link href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/indexSuperise.css" rel="stylesheet"><link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/blog_code-c3a0c33d5c.css">
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/paging.css">
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
// 容错处理
|
|
|
|
|
var NEWS_FEED = function(){}
|
|
|
|
|
</script>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/copyright.js"></script>
|
|
|
|
|
<div style="display:none;">
|
|
|
|
|
<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
|
|
|
|
|
</div>
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart-3456820cac.css">
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/ds.js"></script>
|
|
|
|
|
<div class="container clearfix" id="mainBox">
|
|
|
|
|
<div class="recommend-right">
|
|
|
|
|
<ul class="recommend-fixed-box">
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<main>
|
|
|
|
|
<div class="blog-content-box">
|
|
|
|
|
<div class="article-header-box">
|
|
|
|
|
<div class="article-header">
|
|
|
|
|
<div class="article-title-box">
|
|
|
|
|
<span class="article-type type-1 float-left">原</span> <h1 class="title-article">LibRTMP源代码分析9:接收消息</h1>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="article-info-box">
|
|
|
|
|
<div class="article-bar-top">
|
|
|
|
|
<span class="time">2015年09月21日 15:28:32</span>
|
|
|
|
|
<a class="follow-nickName" href="https://me.csdn.net/wongainia158158" target="_blank">wongainia158158</a>
|
|
|
|
|
<span class="read-count">阅读数:408</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="operating">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<article class="baidu_pl">
|
|
|
|
|
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/ck_htmledit_views-f57960eb32.css">
|
|
|
|
|
<div class="htmledit_views" id="content_views">
|
|
|
|
|
|
|
|
|
|
<p style="line-height:26px;font-size:16px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"> 在这里在研究接收消息(Message)的源代码,接收消息最典型的应用就是接收视音频数据了,因为视频和音频分别都属于RTMP协议规范中的一种消息。在这里主要分析接收视音频数据。LibRTMP<span style="line-height:26px;">中完成视音频数据的接收的函数是:RTMP_Read()。</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="color:#008000;">// Flv文件头<br></span><span style="line-height:22px;">static const char flvHeader[] = { 'F', 'L', 'V', 0x01,<br style="line-height:22.75px;"></span><span style="line-height:22px;"> 0x00,</span><span style="line-height:22px;">
|
|
|
|
|
<span style="line-height:22.75px;"></span></span><span style="color:#008000;line-height:22px;">/* 0x04 == audio, 0x01 == video */<br style="line-height:22.75px;"></span><span style="line-height:22px;"><span style="color:#008000;line-height:22.75px;"> </span>0x00, 0x00, 0x00, 0x09,</span><span style="line-height:22px;">
|
|
|
|
|
<span style="line-height:22.75px;"></span></span><span style="color:#008000;line-height:22px;">// Offset = 0x00000009,4字节<br style="line-height:22.75px;"></span><span style="line-height:22px;"><span style="color:#008000;line-height:22.75px;"> </span>0x00, 0x00, 0x00, 0x00</span><span style="line-height:22px;">
|
|
|
|
|
<span style="line-height:22.75px;"></span></span><span style="color:#008000;line-height:22px;">// Previous Tag Size = 0x00000000,4字节<br style="line-height:22.75px;"></span><span style="line-height:22px;">};<br style="line-height:22.75px;"></span><span style="line-height:22px;"><br style="line-height:22.75px;">
|
|
|
|
|
#define HEADERBUF</span><span style="line-height:22px;"> </span><span style="line-height:22px;">(128*1024)<br style="line-height:22.75px;"></span><span style="line-height:22px;"><br style="line-height:22.75px;"><span style="font-family:Arial;color:#0000ff;line-height:22.75px;">/**<br></span></span><span style="line-height:22px;color:rgb(0,0,255);font-family:Arial;"> * @brief 读取音视频数据<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="color:#0000ff;line-height:22.75px;"> */<br></span></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">int RTMP_Read(RTMP *r, char *buf, int size)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">{</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;color:rgb(51,51,51);"></span><span style="color:#333333;line-height:22.75px;">int
|
|
|
|
|
nRead = 0, total = 0;<br></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* can't continue */</span><br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">fail:<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>switch (r->m_read.status)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>case RTMP_READ_EOF:<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>case RTMP_READ_COMPLETE:<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>return 0;<br style="line-height:22.75px;"></span><span style="color:#333333;line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>case RTMP_READ_ERROR: </span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#333333;line-height:22px;font-family:Arial;"> </span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">/* corrupted stream, resume failed */<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_sock.setsockerr(EINVAL);<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>return -1;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>default:<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* first time thru */</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (!(r->m_read.flags & RTMP_READ_HEADER))<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (!(r->m_read.flags & RTMP_READ_RESUME))<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// 分配内存,分别指向缓冲区的首部和尾部</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>char *mybuf = malloc(HEADERBUF), *end = mybuf + HEADERBUF;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>int cnt = 0;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf = mybuf;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen = HEADERBUF;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// 把Flv的首部复制到mybuf指向的内存 <br></span></span><span style="line-height:22px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;"><span></span>// RTMP传递的多媒体数据是“砍头”的FLV文件 <br></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>memcpy(mybuf, flvHeader, sizeof(flvHeader));<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf += sizeof(flvHeader);</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// m_read.buf指针后移flvheader个单位<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen -= sizeof(flvHeader);</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// buf剩下的空间大小减少nRead <br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;color:rgb(0,128,0);"></span><br style="line-height:22.75px;"><span style="line-height:22.75px;color:rgb(0,128,0);"></span><span style="color:#008000;line-height:22.75px;">// timestamp=0,不是多媒体数据 <br></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>while (r->m_read.timestamp == 0)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// 读取一个 Packet 到r->m_read.buf <br></span></span><span style="line-height:22px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;"><span></span>// nRead为读取结果标记. 如果nRead < 0,则表示读取出错</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>nRead = </span><span style="color:#ff0000;line-height:22px;font-family:Arial;">Read_1_Packet</span><span style="color:#333333;line-height:22px;font-family:Arial;">(r,
|
|
|
|
|
r->m_read.buf, r->m_read.buflen);<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>if (nRead < 0)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>free(mybuf);<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf = NULL;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen = 0;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.status = nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>goto fail;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;color:rgb(51,51,51);"></span><span style="color:#333333;line-height:22.75px;">}<br></span></span><span style="line-height:22px;font-family:Arial;"><span style="color:#333333;line-height:22.75px;"><br></span><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* buffer overflow, fix buffer and give up */</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (r->m_read.buf < mybuf || r->m_read.buf > end)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>mybuf = realloc(mybuf, cnt + nRead);<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>memcpy(mybuf+cnt, r->m_read.buf, nRead);<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf = mybuf+cnt+nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>cnt += nRead;</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// 记录读取的字节数<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf += nRead;</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// m_read.buf指针后移nRead个单位<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen -= nRead; </span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// buf剩下的空间大小减少nRead<br style="line-height:22.75px;"><br style="line-height:22.75px;"></span><span style="font-family:Arial;line-height:22px;"><span style="color:#008000;line-height:22.75px;"><span></span>// 当dataType = 00000101时,即有视频和音频 ; </span></span><span style="line-height:22px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;">说明有多媒体数据了<br></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (r->m_read.dataType == 5)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="font-family:Arial;line-height:22px;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// </span></span><span style="color:#008000;line-height:22px;"><span style="font-family:Arial;">读入数据类型。</span><span style="font-family:Arial;">注意:mybuf指针位置一直没动
|
|
|
|
|
<br style="line-height:22.75px;"></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;color:rgb(0,128,0);"></span><span style="color:#008000;line-height:22.75px;">// mybuf[4]中第 6 位表示是否存在音频Tag。第 8 位表示是否存在视频Tag。<br></span></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>mybuf[4] = r->m_read.dataType;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen = r->m_read.buf - mybuf;</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// 两个指针之间的差 <br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf = mybuf;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.bufpos = mybuf;</span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;line-height:22px;font-family:Arial;">// 这句很重要!后面memcopy<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// flags标明已经读完了文件头</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.flags |= RTMP_READ_HEADER;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>if ((r->m_read.flags & RTMP_READ_SEEKING) && r->m_read.buf)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* drop whatever's here */</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>free(r->m_read.buf);<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buf = NULL;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.bufpos = NULL;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen = 0;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* If there's leftover data buffered, use it up */</span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (r->m_read.buf)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>nRead = r->m_read.buflen;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (nRead > size)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>nRead = size;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">// m_read.bufpos指向mybuf </span><br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>memcpy(buf, r->m_read.bufpos, nRead);<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen -= nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (!r->m_read.buflen)<br style="line-height:22.75px;"></span><span style="line-height:22px;font-family:Arial;"><span style="line-height:22.75px;"></span
|
|
|
|
|
buf, size)) >= 0)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>if (!nRead) continue;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>buf += nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>total += nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>size -= nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>if (nRead < 0)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.status = nRead;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>if (size < 0)<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>total += size;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>return total;<br style="line-height:22.75px;"></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">}</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;color:#ff0000;"><span style="line-height:22px;">注意:</span></span><span style="color:rgb(51,51,51);font-family:Arial;"><span style="line-height:26px;">RTMP传送的视音频数据的格式和FLV(FLash
|
|
|
|
|
Video)格式是一样的,把接收下来的数据直接存入文件就可以了。但是这些视音频数据没有文件头,是<a href="https://www.baidu.com/s?wd=%E7%BA%AF%E8%A7%86&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd" target="_blank">纯视</a>音频数据,因此需要在其前面加上FLV格式的文件头,这样得到的数据存成文件后才能被一般的视频播放器所播放。FLV格式的文件头是13个字节,如代码中所示。<br style="line-height:22.75px;"></span></span><span style="line-height:22px;color:rgb(51,51,51);font-family:Arial;">RTMP_Read()中实际读取数据的函数是Read_1_Packet(),它的功能是从网络上读取一个RTMPPacket的数据,接下来分析该函数代码。</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;color:#0000ff;"><span style="line-height:24px;">/**<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(0,0,255);font-family:Arial;"> * @brief Read from the stream until we get a media packet.<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(0,0,255);font-family:Arial;"> * 从网络上读取一个RTMPPacket的数据.<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(0,0,255);font-family:Arial;"> * @return -3 if Play.Close/Stop, -2 if fatal error, -1 if no more media<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(0,0,255);font-family:Arial;"> * packets, 0 if ignorable error, >0 if there is a media packet.<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="color:#0000ff;line-height:22.75px;"> */<br></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">static int Read_1_Packet(RTMP *r, char *buf, unsigned int buflen)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>uint32_t prevTagSize = 0;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>int rtnGetNextMediaPacket = 0, ret = RTMP_READ_EOF;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>RTMPPacket packet = { 0 };<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>int recopy = FALSE;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>unsigned int size;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>char *ptr, *pend;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>uint32_t nTimeStamp = 0;<br style="line-height:22.75px;"></span><span style="font-family:Arial;"><span style="line-height:24px;color:rgb(51,51,51);"></span><span style="color:#333333;"><span style="line-height:24px;">unsigned int len;<br style="line-height:22.75px;"></span></span></span><span style="font-family:Arial;"><span style="color:#333333;"><span style="line-height:24px;"><br style="line-height:22.75px;"></span></span><span></span><span style="color:#008000;">// 获取下一个packet </span><br></span><span style="font-family:Arial;"><span></span>rtnGetNextMediaPacket = <span style="color:#ff0000;">RTMP_GetNextMediaPacket</span>(r, &packet);<br></span><span style="font-family:Arial;"><span></span>while (rtnGetNextMediaPacket)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>char *packetBody = packet.m_body;<br></span><span style="font-family:Arial;"><span></span>unsigned int nPacketLen = packet.m_nBodySize;<br></span><span style="font-family:Arial;"><br><span style="line-height:22px;"></span><span style="color:#008000;">/* Return RTMP_READ_COMPLETE if this was completed nicely with<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span> * invoke message Play.Stop or Play.Complete */</span><br></span><span style="font-family:Arial;"><span></span>if (rtnGetNextMediaPacket == 2)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></s
|
|
|
|
|
</span><br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">// messageID=18,数据消息(AMF0)</span><br></span><span style="font-family:Arial;"><span></span>if (r->m_read.nMetaHeaderSize > 0 && packet.m_packetType == RTMP_PACKET_TYPE_INFO)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">// 获取metadata<br></span></span><span style="font-family:Arial;"><span></span>AMFObject metaObj;<br></span><span style="font-family:Arial;"><span></span>int nRes = AMF_Decode(&metaObj, packetBody, nPacketLen, FALSE);<br></span><span style="font-family:Arial;"><span></span>if (nRes >= 0)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>AVal metastring;<br></span><span style="font-family:Arial;"><span></span>AMFProp_GetString(AMF_GetProp(&metaObj, NULL, 0), &metastring);<br><br></span><span style="font-family:Arial;"><span></span>if (AVMATCH(&metastring, &av_onMetaData))<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* compare */</span><br></span><span style="font-family:Arial;"><span></span>if ((r->m_read.nMetaHeaderSize != nPacketLen)<br></span><span style="font-family:Arial;"><span></span> || (memcmp(r->m_read.metaHeader, packetBody, r->m_read.nMetaHeaderSize) != 0))<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>ret = RTMP_READ_ERROR;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><span></span><br><span></span>AMF_Reset(&metaObj);<br></span><span style="font-family:Arial;"><span></span>if (ret == RTMP_READ_ERROR)<br></span><span style="font-family:Arial;"><span></span>break;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><span></span>}<br><br></span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;"><span style="line-height:24px;color:rgb(51,51,51);"></span><span style="color:#008000;"><span style="line-height:24px;">/* check
|
|
|
|
|
first keyframe to make sure we got the right position</span><br></span></span><span style="font-family:Arial;"><span style="color:rgb(0,128,0);"></span><span style="color:#008000;"> * in the stream! (the first non ignored frame) */<br></span></span><span style="font-family:Arial;"><span></span>if (r->m_read.nInitialFrameSize > 0)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* video or audio data */</span><br></span><span style="font-family:Arial;"><span></span>if (packet.m_packetType == r->m_read.initialFrameType <br><span></span> && r->m_read.nInitialFrameSize == nPacketLen)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* we don't compare the sizes since the packet can<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span></span> * contain several FLV packets, just make sure the<br></span><span style="font-family:Arial;"><span></span> * first frame is our keyframe (which we are going<br></span><span style="font-family:Arial;"><span></span> * to rewrite)</span></span><span style="line-height:24px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;"> */<br></span></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (memcmp(r->m_read.initialFrame, packetBody, r->m_read.nInitialFrameSize) == 0)<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>RTMP_Log(RTMP_LOGDEBUG, "Checked keyframe successfully!"); <br style="line-height:22.75px;"></span><span style="font-family:Arial;"><span style="line-height:24px;"></span><span style="line-height:24px;">r->m_read.flags |= RTMP_READ_GOTKF;<br style="line-height:22.75px;"><br style="line-height:22.75px;"></span></span><span style="font-family:Arial;"><span></span><span style="color:#008000;">/* ignore it! (what about audio data after it? it is<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span>* handled by ignoring all 0ms frames, see below) */</span><br></span><span style="font-family:Arial;"><span></span>ret = RTMP_READ_IGNORE;<br></span><span style="font-family:Arial;"><span></span>break;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="line-height:22px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* hande FLV streams, even though the server resends the<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span style="line-height:22px;"></span> * keyframe as an extra video packet it is also included<br></span><span style="font-family:Arial;"><span></span> * in the first FLV stream chunk and we have to compare<br></span><span style="font-family:Arial;"><span></span> * it and filter it out !! */<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span>// MessageID=22,聚合消息</span><br></span><span style="font-family:Arial;"><span></span>if (packet.m_packetType == RTMP_PACKET_TYPE_FLASH_VIDEO)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;line-height:22px;"><span style="line-height:24px;"><span style="line-height:22.75px;"></span><span style="color:#008000;line-height:22.75px;">/* basically we have to find the keyframe with the </span></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span style="line-height:24px;">correct
|
|
|
|
|
TS being nResumeTS */</span><br></span></span><span style="font-family:Arial;"><span></span>unsigned int pos = 0;<br></span><span style="font-family:Arial;"><span></span>uint32_t ts = 0;<br></span><span style="font-family:Arial;"><br><span></span>while (pos + 11 < nPacketLen)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* size without header (11) and prevTagSize (4) */</span><br></span><span style="font-family:Arial;"><span></span>uint32_t dataSize = AMF_DecodeInt24(packetBody + pos + 1);<br></span><span style="font-family:Arial;"><span></span>ts = AMF_DecodeInt24(packetBody + pos + 4);<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span>ts |= (packetBody[pos + 7] << 24);<br></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">#ifdef _DEBUG<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>RTMP_Log(RTMP_LOGDEBUG, "keyframe search: FLV Packet: type %02X, <br style="line-height:22.75px;"><span style="line-height:22.75px;"></span> dataSize: %d, timeStamp: %d ms", packetBody[pos], dataSize, ts);<br style="line-height:22.75px;"></span><span style="font-family:Arial;"><span style="color:#333333;"><span style="line-height:24px;">#endif<br style="line-height:22.75px;"></span></span></span><span style="font-family:Arial;"><span></span><span style="color:#008000;">/* ok, is it a keyframe?:<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span> * well doesn't work for audio! */</span><br></span><span style="font-family:Arial;"><span></span>if (packetBody[pos </span><span style="color:#008000;font-family:Arial;">/*6928, test 0 */ </span><span style="color:#333333;font-family:Arial;">] == <br></span><span style="color:#333333;font-family:Arial;"><span></span>r->m_read.initialFrameType </span><span style="color:#008000;font-family:Arial;">/* && (packetBody[11]&0xf0) == 0x10 */</span><span style="color:#333333;font-family:Arial;"> )<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>{<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>if (ts == r->m_read.nResumeTS)<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>{<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>RTMP_Log(RTMP_LOGDEBUG, "Found keyframe with <br><span></span> <span> </span>resume-keyframe timestamp!");<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>if (r->m_read.nInitialFrameSize != dataSize || <br><span></span> <span> </span>memcmp(r->m_read.initialFrame, </span><span style="color:rgb(51,51,51);font-family:Arial;">packetBody + pos + 11, <br><span></span>r->m_read.nInitialFrameSize) != 0)<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>{<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>RTMP_Log(RTMP_LOGERROR, "FLV Stream: <br><span></span>Keyframe doesn't match!");<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>ret = RTMP_READ_ERROR;<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>break;<br></span><span style="color:rgb(51,51,51);font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><br><span style="color:rgb(51,51,51);"></span><span style="color:#333333;">r->m_read.flags |= RTMP_READ_GOTFLVK;<br><br></span></span><span style="line-height:22px;color:rgb(0,128,0);font-family:Arial;"><span style="line-height:22.75px;"></span>/* skip this packet? <br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;"><span></span> * check whether skippable: */<br></span></span
|
|
|
|
|
</span><span style="color:#008000;font-family:Arial;">// end of if (packet.m_packetType == RTMP_PACKET_TYPE_FLASH_VIDEO)<br></span><span style="font-family:Arial;"><span></span>}</span><span style="color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;font-family:Arial;">// end of if (r->m_read.nInitialFrameSize > 0)<br></span><span style="font-family:Arial;"><span></span>}</span><span style="color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="color:#008000;font-family:Arial;">// end of if (packet.m_nTimeStamp == 0)<br></span><span style="font-family:Arial;"><span style="color:#008000;"><br></span><span></span>if (packet.m_nTimeStamp > 0 && (r->m_read.flags & (RTMP_READ_GOTKF|RTMP_READ_GOTFLVK)))<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* another problem is that the server can actually change from<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span></span> * 09/08 video/audio packets to an FLV stream or vice versa and<br></span><span style="font-family:Arial;"><span></span> * our keyframe check will prevent us from going along with the<br></span><span style="font-family:Arial;"><span></span> * new stream if we resumed.<br></span><span style="font-family:Arial;"><span></span> *<br></span><span style="font-family:Arial;"><span></span> * in this case set the 'found keyframe' variables to true.<br></span><span style="font-family:Arial;"><span></span> * We assume that if we found one keyframe somewhere and were<br></span><span style="font-family:Arial;"><span></span> * already beyond TS > 0 we have written data to the output<br></span><span style="font-family:Arial;"><span></span> * which means we can accept all forthcoming data including the<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span> * change between 08/09 <-> FLV packets <br><span></span> */</span><br></span><span style="font-family:Arial;"><span></span>r->m_read.flags |= (RTMP_READ_GOTKF|RTMP_READ_GOTFLVK);</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;color:#333333;"><span style="line-height:24px;"></span><span style="line-height:24px;">}<br style="line-height:22.75px;"></span></span><span style="font-family:Arial;"><span style="color:#333333;"><span style="line-height:24px;"><br style="line-height:22.75px;"></span></span><span></span><span style="color:#008000;">/* skip till we find our keyframe<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span></span></span><span style="line-height:24px;font-family:Arial;">* (seeking might put us somewhere before it) */<br style="line-height:22.75px;"></span></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>if ( !(r->m_read.flags & RTMP_READ_GOTKF) && <br style="line-height:22.75px;"><span style="line-height:22.75px;"></span> packet.m_packetType != RTMP_PACKET_TYPE_FLASH_VIDEO )<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>RTMP_Log(RTMP_LOGWARNING, "Stream does not start with requested frame, ignoring data... ");<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.nIgnoredFrameCounter++;<br style="line-height:22.75px;"><br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>if (r->m_read.nIgnoredFrameCounter > MAX_IGNORED_FRAMES)<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>ret = RTMP_READ_ERROR;</span><span style="color:rgb(51,51,51);font-family:Arial;">
|
|
|
|
|
</span><span style="line-height:24px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;">/* fatal error, couldn't continue stream */</span><br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>else<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>ret = RTMP_READ_IGNORE;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="font-family:Arial;"><span style="line-height:24px;color:rgb(51,51,51);"></span><span style="color:#333333;"><span style="line-height:24px;">}<br style="line-height:22.75px;"></span></span></span><span style="font-family:Arial;"><span style="color:#333333;"><span style="line-height:24px;"><br style="line-height:22.75px;"></span></span><span></span><span style="color:#008000;">/* ok, do the same for FLV streams */</span><br></span><span style="font-family:Arial;"><span></span>if ( !(r->m_read.flags & RTMP_READ_GOTFLVK) && <br><span></span> packet.m_packetType == RTMP_PACKET_TYPE_FLASH_VIDEO )<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>RTMP_Log(RTMP_LOGWARNING, "Stream does not start with requested FLV frame, ignoring data... ");<br></span><span style="font-family:Arial;"><span></span>r->m_read.nIgnoredFlvFrameCounter++;<br><br></span><span style="font-family:Arial;"><span></span>if (r->m_read.nIgnoredFlvFrameCounter > MAX_IGNORED_FRAMES)<br></span><span style="font-family:Arial;"><span></span>ret = RTMP_READ_ERROR;<br></span><span style="font-family:Arial;"><span></span>else<br></span><span style="font-family:Arial;"><span></span>ret = RTMP_READ_IGNORE;<br></span><span style="font-family:Arial;"><span></span>break;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><br><span style="line-height:22px;"></span><span style="color:#008000;">/* we have to ignore the 0ms frames since these are the first<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span></span> * keyframes; we've got these so don't mess around with multiple<br></span><span style="font-family:Arial;"><span></span> * copies sent by the server to us! (if the keyframe is found at a<br></span><span style="font-family:Arial;"><span></span> * later position there is only one copy and it will be ignored by<br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span> * the preceding if clause) */</span><br></span><span style="font-family:Arial;"><span></span>if ( !(r->m_read.flags & RTMP_READ_NO_IGNORE) && <br><span></span> packet.m_packetType != RTMP_PACKET_TYPE_FLASH_VIDEO )<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span>/* exclude type RTMP_PACKET_TYPE_FLASH_VIDEO since it can<br></span><span style="font-family:Arial;"><span></span> * contain several FLV packets */<br></span><span style="font-family:Arial;"><span></span>if (packet.m_nTimeStamp == 0)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>ret = RTMP_READ_IGNORE;<br></span><span style="font-family:Arial;"><span></span>break;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><span></span>else<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span><span style="color:#008000;">/* stop ignoring packets */</span><br></span><span style="font-family:Arial;"><span></span>r->m_read.flags |= RTMP_READ_NO_IGNORE;<br></span><span s
|
|
|
|
|
</span><span style="line-height:24px;font-family:Arial;"><span style="color:#008000;line-height:22.75px;">/* fatal error */</span><br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>break;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>recopy = TRUE;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>ptr = r->m_read.buf;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>else<br style="line-height:22.75px;"></span><span style="font-family:Arial;color:#333333;"><span style="line-height:24px;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>ptr = buf;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>pend = ptr + size + 4;</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;"><span style="line-height:24px;color:rgb(51,51,51);"></span><span style="color:#008000;"><span style="line-height:24px;">/* use
|
|
|
|
|
to return timestamp of last processed packet */</span><br></span></span><span style="color:rgb(0,128,0);font-family:Arial;"><br><span></span>/* audio (0x08), video (0x09) or metadata (0x12) packets :<br></span><span style="font-family:Arial;"><span style="color:rgb(0,128,0);"></span><span style="color:#008000;"> * construct 11 byte header then add rtmp packet's data */<br></span></span><span style="font-family:Arial;"><span></span>if (packet.m_packetType == RTMP_PACKET_TYPE_AUDIO || <br></span><span style="font-family:Arial;"><span></span>packet.m_packetType == RTMP_PACKET_TYPE_VIDEO || <br></span><span style="font-family:Arial;"><span></span>packet.m_packetType == RTMP_PACKET_TYPE_INFO)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>nTimeStamp = r->m_read.nResumeTS + packet.m_nTimeStamp;<br></span><span style="font-family:Arial;"><span></span>prevTagSize = 11 + nPacketLen;<br></span><span style="font-family:Arial;"><br><span></span>*ptr = packet.m_packetType;<br></span><span style="font-family:Arial;"><span></span>ptr++;<br></span><span style="font-family:Arial;"><span></span>ptr = AMF_EncodeInt24(ptr, pend, nPacketLen);<br></span><span style="font-family:Arial;"><span style="color:#333333;"><span style="line-height:24px;">#if 0<br style="line-height:22.75px;"></span></span></span><span style="font-family:Arial;"><span></span><span style="color:#808080;">if(packet.m_packetType == RTMP_PACKET_TYPE_VIDEO) <br></span></span><span style="color:#808080;"><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>/* H264 fix: */<br></span><span style="font-family:Arial;"><span></span>if((packetBody[0] & 0x0f) == 7) <br></span><span style="font-family:Arial;"><span></span>{<span><br></span></span><span style="font-family:Arial;"><span></span>/* CodecId = H264 */<br></span><span style="font-family:Arial;"><span></span>uint8_t packetType = *(packetBody+1);<br></span><span style="font-family:Arial;"><span></span>uint32_t ts = AMF_DecodeInt24(packetBody+2); /* composition time */<br></span><span style="font-family:Arial;"><span></span>int32_t cts = (ts+0xff800000)^0xff800000;<br></span><span style="font-family:Arial;"><span></span>RTMP_Log(RTMP_LOGDEBUG, "cts : %d\n", cts);<br></span><span style="line-height:24px;font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>nTimeStamp -= cts;<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>/* get rid of the composition time */<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>CRTMP::EncodeInt24(packetBody+2, 0);<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>RTMP_Log(RTMP_LOGDEBUG, "VIDEO: nTimeStamp: 0x%08X (%d)\n", nTimeStamp, nTimeStamp);<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">#endif<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>ptr = AMF_EncodeInt24(ptr, pend, nTimeStamp);<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>*ptr = (char)((nTimeStamp & 0xFF000000) >> 24);<br style="line-height:22.75px;"></span><span style="font-family:Arial;"><span style="line-height:24px;color:rgb(51,51,51);"></span><span style="color:#333333;"><span style="line-height:24px;">ptr++;<br style="line-height:22.75px;"></
|
|
|
|
|
</span><span style="color:rgb(51,51,51);font-family:Arial;"><span style="line-height:24px;">/*(11+dataSize+4); */<br style="line-height:22.75px;"></span></span><span style="color:#333333;font-family:Arial;"><span></span>} </span><span style="color:#008000;font-family:Arial;">// end of while (pos + 11 < nPacketLen)<br></span><span style="font-family:Arial;"><span></span>}</span><span style="font-family:Arial;"><br><span></span>ptr += len;<br><br></span><span style="font-family:Arial;"><span></span>if (packet.m_packetType != RTMP_PACKET_TYPE_FLASH_VIDEO)<br></span><span style="font-family:Arial;"><span></span>{<br></span><span style="font-family:Arial;"><span></span>/* FLV tag packets contain their own prevTagSize */<br></span><span style="font-family:Arial;"><span></span>AMF_EncodeInt32(ptr, pend, prevTagSize);<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><br><span style="line-height:22px;"></span><span style="color:#008000;">/* In non-live this nTimeStamp can contain an absolute TS.<br></span></span><span style="color:#008000;"><span style="font-family:Arial;"><span></span> * Update ext timestamp with this absolute offset in non-live mode<br></span><span style="font-family:Arial;"><span></span> * otherwise report the relative one */<br></span><span style="font-family:Arial;"><span style="line-height:22px;"></span>/* RTMP_Log(RTMP_LOGDEBUG, "type: %02X, size: %d, pktTS: %dms, TS: %dms, bLiveStream: %d", <br></span></span><span style="font-family:Arial;"><span style="color:#008000;"><span></span> packet.m_packetType, nPacketLen, packet.m_nTimeStamp, nTimeStamp, r->Link.lFlags & RTMP_LF_LIVE); */</span><br></span><span style="font-family:Arial;"><span></span>r->m_read.timestamp = (r->Link.lFlags & RTMP_LF_LIVE) ? packet.m_nTimeStamp : nTimeStamp;<br></span><span style="font-family:Arial;"><span></span>ret = size;<br></span><span style="font-family:Arial;"><span></span>break;<br></span><span style="font-family:Arial;"><span></span>}<br></span><span style="font-family:Arial;"><br><span></span>if (rtnGetNextMediaPacket)<br></span><span style="font-family:Arial;"><span></span>RTMPPacket_Free(&packet);</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="font-family:Arial;color:#333333;"><span style="line-height:24px;"><span style="line-height:22.75px;"></span>if (recopy)<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>len = ret > buflen ? buflen : ret;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>memcpy(buf, r->m_read.buf, len);<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.bufpos = r->m_read.buf + len;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_read.buflen = ret - len;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>return ret;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">}<br style="line-height:22.75px;"><br style="line-height:22.75px;"></span><span style="line-height:26px;color:rgb(51,51,51);font-family:Arial;">函数Read_1_Packet()里面实现从网络中读取视音频数据的函数是RTMP_GetNextMediaPacket()。下面我们来看看该函数的源代码:<br style="line-height:22.75px;"></span><span style="line-height:24px;font-family:Arial;"><br style="line-height:22.75px;"><span style="color:#0000ff;line-height:22.75px;">/**<br></span></span><span style="line-height:24px;font-family:Arial;"><span style="color:#0000ff;line-height:22.75px;"> * @brief 获取下一个多媒体包(音频、视频或者metadata)<br></span></span><span style="line-height:24px;font-family:Arial;"><span style="color:#0000ff;line-height:22.75px;"> */</span><br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">int RTMP_GetNextMediaPacket(RTMP *r, RTMPPacket *packet)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>int bHasMediaPacket = 0;</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>while (!bHasMediaPacket && RTMP_IsConnected(r)
|
|
|
|
|
&& </span><span style="line-height:24px;font-family:Arial;"><span style="color:#ff0000;line-height:22.75px;">RTMP_ReadPacket</span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">(r, packet))<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>if (!RTMPPacket_IsReady(packet))<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>continue;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>bHasMediaPacket = </span><span style="line-height:24px;font-family:Arial;"><span style="color:#ff0000;line-height:22.75px;">RTMP_ClientPacket</span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">(r,
|
|
|
|
|
packet);<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>if (!bHasMediaPacket)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>RTMPPacket_Free(packet);<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>else if (r->m_pausing == 3)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{</span></span></p>
|
|
|
|
|
<p style="line-height:28px;color:rgb(59,59,59);font-family:'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:16px;">
|
|
|
|
|
<span style="font-size:12px;line-height:22.75px;"><span><span style="font-family:Arial;color:rgb(51,51,51);"><span style="line-height:24px;"><span style="line-height:22.75px;"></span>if (packet->m_nTimeStamp
|
|
|
|
|
<= r->m_mediaStamp)<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>{<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>bHasMediaPacket = 0;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">#ifdef _DEBUG<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>RTMP_Log(RTMP_LOGDEBUG, "Skipped type: %02X, size: %d, TS: %d ms, <br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>abs TS: %d, pause: %d ms",<span style="line-height:22.75px;"> </span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">packet->m_packetType, packet->m_nBodySize, <br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>packet->m_nTimeStamp, packet->m_hasAbsTimestamp, r->m_mediaStamp);<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;">#endif<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>continue;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_pausing = 0;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>}<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>if (bHasMediaPacket)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_bPlaying = TRUE;<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>else if (r->m_sb.sb_timedout && !r->m_pausing)<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span style="line-height:22.75px;"></span>r->m_pauseStamp = r->m_channelTimestamp[r->m_mediaChannel];<br style="line-height:22.75px;"></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><br style="line-height:22.75px;"><span style="line-height:22.75px;"></span>return bHasMediaPacket;<br style="line-height:22.75px;"></span></span><span style="line-height:24px;color:rgb(51,51,51);font-family:Arial;"><span>}</span><br style="line-height:22.75px;"></span></span></p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</article>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
(function(){
|
|
|
|
|
function collection(){
|
|
|
|
|
if (currentUserName) {
|
|
|
|
|
var markObj = {};
|
|
|
|
|
markObj.imgUrl ='https://csdnimg.cn/release/phoenix/static_blog/images/appqr.png';
|
|
|
|
|
var markPrompt = (new window.csdn.publicPrompt).init(markObj);
|
|
|
|
|
var maeked = '您已经收藏过';
|
|
|
|
|
if (!$(this).hasClass("liked")) {
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: 'https://my.csdn.net/my/favorite/do_add/2',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
type: 'POST',
|
|
|
|
|
xhrFields: {
|
|
|
|
|
withCredentials: true
|
|
|
|
|
},
|
|
|
|
|
data: {
|
|
|
|
|
title: articleTit,
|
|
|
|
|
url: curentUrl,
|
|
|
|
|
share: 1,
|
|
|
|
|
map_name: ''
|
|
|
|
|
},
|
|
|
|
|
success: function(data) {
|
|
|
|
|
|
|
|
|
|
if (data.succ == 1) {
|
|
|
|
|
$('.btn-bookmark').addClass("liked");
|
|
|
|
|
$('.article-footer-bookmark-btn').addClass("liked").children('span').text('已收藏');
|
|
|
|
|
markPrompt.show({})
|
|
|
|
|
// alert('收藏成功,可以在个人中心查看我的收藏');
|
|
|
|
|
} else {
|
|
|
|
|
if (data.msg === "您已经收藏过") {
|
|
|
|
|
$('.btn-bookmark').addClass("liked");
|
|
|
|
|
$('.article-footer-bookmark-btn').addClass("liked").children('span').text('已收藏');
|
|
|
|
|
markPrompt.show({
|
|
|
|
|
titleStr: maeked
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
alert(data.msg);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
markPrompt.show({
|
|
|
|
|
titleStr: maeked
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
window.csdn.loginBox.show();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
window.csdn = window.csdn ? window.csdn : {};
|
|
|
|
|
window.csdn.articleCollection = collection;
|
|
|
|
|
function setArticleH(btnReadmore,posi){
|
|
|
|
|
var winH = $(window).height();
|
|
|
|
|
var articleBox = $("div.article_content");
|
|
|
|
|
var artH = articleBox.height();
|
|
|
|
|
if(artH > winH*posi){
|
|
|
|
|
articleBox.css({
|
|
|
|
|
'height':winH*posi+'px',
|
|
|
|
|
'overflow':'hidden'
|
|
|
|
|
})
|
|
|
|
|
btnReadmore.click(function(){
|
|
|
|
|
articleBox.removeAttr("style");
|
|
|
|
|
$(this).parent().remove()
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
btnReadmore.parent().remove()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var btnReadmore = $("#btn-readmore");
|
|
|
|
|
$('.article-footer-bookmark-btn').click(window.csdn.articleCollection)
|
|
|
|
|
if(btnReadmore.length>0){
|
|
|
|
|
if(currentUserName){
|
|
|
|
|
setArticleH(btnReadmore,3);
|
|
|
|
|
}else{
|
|
|
|
|
setArticleH(btnReadmore,1.2);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
$('.hide-article-box').addClass('hide-article-style');
|
|
|
|
|
}
|
|
|
|
|
})()
|
|
|
|
|
</script>
|
|
|
|
|
<script>
|
|
|
|
|
$(".MathJax").remove();
|
|
|
|
|
if($('div.markdown_views pre.prettyprint code.hljs').length > 0 ){
|
|
|
|
|
$('div.markdown_views')[0].className = 'markdown_views';
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<div id="dmp_ad_58"><div id="kp_box_58" data-pid="58" data-track-click="{"mod":"kp_popu_58-402","con":",,"}"><div style="width:100%;background:#fff;border:3px solid #fff;">
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398677_486" id="QIHOO__WEB__SO__1551757398677_486" style="display:block;margin:0;padding:0;border:none;width:900px;height:100px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398677_486-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398677_486 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93546a8242e&price=AAAAAFx98FUAAAAAAAmA2bsmVay/HC1NlSenaA==&finfo=DAABCAABAAACHQgAAgAAAG4EAAM/dCs9LsBJaQAIAAIAAAADCgADUYrsM4MiRwoIAAQAAABuBgAGLbcKAAkAAAAAAAIQGAYACgAACgAPAAAAAABSmCgA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FZy4mwIlAhUCFs7VtNz0xvGKowEV8gglt8TzlQclABUaFAAA&ubi=FZKVURWuj8oCFfLCtxcV6KDhWBUEFSIWnIeAnxcWztXJw/6M9oqjATQCFrDAECUGFar7n90GFfoFFQA29rmZt6mcmfXfAQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=5kauX_FHTaj=&url=http%3A%2F%2Fgp.yimugo.net%2F" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a93546a8242e&p=2321934&l=1136674&s=1&ps=0&k=1HxdmwAAAAA=&i=N7WEimVFZ9ZF&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/664905-24814769f271ce57904e33d2ba5cdf17.jpg)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">股票“三不卖七不买“6字黄金口诀 只买井喷股 赢千万身价</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">之星 · 顶新</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 900,
|
|
|
|
|
h : 100,
|
|
|
|
|
showid : 'ztvJV8',
|
|
|
|
|
placeholderId: "three_ad1",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 0,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 68,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft YaHei',
|
|
|
|
|
paddingTop : 20,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 20,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
</div></div></div> <a id="commentBox"></a>
|
|
|
|
|
<div class="comment-box">
|
|
|
|
|
|
|
|
|
|
<div class="comment-edit-box d-flex">
|
|
|
|
|
<a id="commentsedit"></a>
|
|
|
|
|
<div class="user-img">
|
|
|
|
|
<a href="javascript:void(0);" target="_blank">
|
|
|
|
|
<img class="show_loginbox" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/anonymous-User-img.png">
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
<form id="commentform">
|
|
|
|
|
<input type="hidden" id="comment_replyId">
|
|
|
|
|
<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
|
|
|
|
|
<div class="opt-box"> <!-- d-flex -->
|
|
|
|
|
<div id="ubbtools" class="add_code">
|
|
|
|
|
<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="hidden" id="comment_replyId" name="comment_replyId">
|
|
|
|
|
<input type="hidden" id="article_id" name="article_id" value="48627039">
|
|
|
|
|
<input type="hidden" id="comment_userId" name="comment_userId" value="">
|
|
|
|
|
<input type="hidden" id="commentId" name="commentId" value="">
|
|
|
|
|
<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div>
|
|
|
|
|
<div class="dropdown" id="myDrap">
|
|
|
|
|
<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
|
|
|
|
<div class="txt-selected text-truncate">添加代码片</div>
|
|
|
|
|
<svg class="icon d-block" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-triangledown"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
|
|
|
|
|
<li><a data-code="html">HTML/XML</a></li>
|
|
|
|
|
<li><a data-code="objc">objective-c</a></li>
|
|
|
|
|
<li><a data-code="ruby">Ruby</a></li>
|
|
|
|
|
<li><a data-code="php">PHP</a></li>
|
|
|
|
|
<li><a data-code="csharp">C</a></li>
|
|
|
|
|
<li><a data-code="cpp">C++</a></li>
|
|
|
|
|
<li><a data-code="javascript">JavaScript</a></li>
|
|
|
|
|
<li><a data-code="python">Python</a></li>
|
|
|
|
|
<li><a data-code="java">Java</a></li>
|
|
|
|
|
<li><a data-code="css">CSS</a></li>
|
|
|
|
|
<li><a data-code="sql">SQL</a></li>
|
|
|
|
|
<li><a data-code="plain">其它</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right-box">
|
|
|
|
|
<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
|
|
|
|
|
<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="comment-list-container">
|
|
|
|
|
<a id="comments"></a>
|
|
|
|
|
<div class="comment-list-box">
|
|
|
|
|
</div>
|
|
|
|
|
<div id="commentPage" class="pagination-box d-none"></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="recommend-box">
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wang542943220/article/details/80128895,BlogCommendFromBaidu_0,index_0"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wang542943220/article/details/80128895" target="_blank" title="RTSP协议、RTMP协议、HTTP协议的区别">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTSP协议、RTMP协议、HTTP协议的区别 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">04-06</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
103</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wang542943220/article/details/80128895" target="_blank" title="RTSP协议、RTMP协议、HTTP协议的区别">
|
|
|
|
|
<span class="desc oneline">RTSP、RTMP、HTTP的共同点、区别共同点:1:RTSPRTMPHTTP都是在应用应用层。2:理论上RTSPRTMPHTTP都可以做直播和点播,但一般做直播用RTSPRTMP,做点播用HTTP。...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wang542943220">来自: <span class="blog_title"> wang542943220的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/occupy8/article/details/42812365,BlogCommendFromBaidu_1,index_1"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/occupy8/article/details/42812365" target="_blank" title="rtmplib rtmp协议过程分析">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
rtmplib rtmp协议过程分析 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">01-17</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/occupy8/article/details/42812365" target="_blank" title="rtmplib rtmp协议过程分析">
|
|
|
|
|
<span class="desc oneline">转自:http://chenzhenianqing.cn/articles/1009.html写的很好,收藏如下,向作者致敬!没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发布R...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/occupy8">来自: <span class="blog_title"> occupy8的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-click="{"mod":"popu_387","con":",https://download.csdn.net/download/b35838715/5738635,BlogCommendFromBaidu_2,index_2"}" data-flg="true">
|
|
|
|
|
<a href="https://download.csdn.net/download/b35838715/5738635" target="_blank">
|
|
|
|
|
<div class="content clearfix">
|
|
|
|
|
<div class="">
|
|
|
|
|
<h4 class="text-truncate oneline clearfix">
|
|
|
|
|
rtmp数据抓取保存 </h4>
|
|
|
|
|
<span class="data float-right">07-11</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="desc oneline">
|
|
|
|
|
rtmp rtmp协议 amf rtmp协议学习 可以学习rtmp协议与AMF协议 有疑问可以与我联系~ </div>
|
|
|
|
|
<span class="type-show type-show-download">下载</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_59" data-pid="59" data-track-view="{"mod":"kp_popu_59-517","con":",,"}" data-track-click="{"mod":"kp_popu_59-517","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398726_120" id="QIHOO__WEB__SO__1551757398726_120" style="display:block;margin:0;padding:0;border:none;width:852px;height:52px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398726_120-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398726_120 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=Fcj8SxWg58cCFai6rhcVrP3LWBUEFRwW9NaK8BYWztXasbW8jJ6pATQCFrDAECUCFZXAubcGFaYBFQA2kLy01cmxgJHoAQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=qQaNPZX6fvo=&url=http%3A%2F%2Fsx2.aihuaiedu.cn%2Fzc360%2Fzd%2Fpc%2Fd2%2F%3Fll-zd-sz-A701" data-pv="https://ssxd.mediav.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAAeQgAAgAAAHMEAAM/8AAAAAAAAAAIAAIAAAABCgADVJ4Y8STWQa4IAAQAAAB5BgAGLbcKAAkAAAAAAAIQGAYACgAACgAPAAAAAAASdpAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=Fcj8SxWg58cCFai6rhcVrP3LWBUEFRwW9NaK8BYWztXasbW8jJ6pATQCFrDAECUCFZXAubcGFaYBFQA2kLy01cmxgJHoAQA&ds=1&price=AAAAAFx98FUAAAAAAAkE89PymnjvwMwlMNK/Gw==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=1&z=1&ps=0&w=AAAAAFx98FUAAAAAAAkFFsvUct-d0xaqrN9Vpw&pt=1&k=LRsRzQAAAAA=&i=OHbJ5mVFZ9gX&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=1&ps=0&k=LRsRzQAAAAA=&i=OHbJ5mVFZ9gX&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/622372-0b7d400b523b02b5e524f00536006c3f.jpg)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">2月起,科技园有种学历叫免考本科,一年课程,正规本科,学信网可查</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">爱华学历中心 · 顶新</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 52,
|
|
|
|
|
showid : 'GNKXx7',
|
|
|
|
|
placeholderId: "three_ad1",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 52,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leiych/article/details/18268815,BlogCommendFromBaidu_3,index_3"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leiych/article/details/18268815" target="_blank" title="Rtmp协议简单分析(一)——协议数据">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
Rtmp协议简单分析(一)——协议数据 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">01-14</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1228</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leiych/article/details/18268815" target="_blank" title="Rtmp协议简单分析(一)——协议数据">
|
|
|
|
|
<span class="desc oneline">首先说下rtmp协议包的格式。握手之后,rtmp传输一个数据默认的长度是128bytes,这128bytes不包括包头的长度,只是数据的长度,文档上面没有说明,很憋了我一段时间,数据超过这个长度之后就...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leiych">来自: <span class="blog_title"> 守得云开见月明</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/u011046042/article/details/53017992,BlogCommendFromBaidu_4,index_4"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011046042/article/details/53017992" target="_blank" title="linux下利用RTMP协议接收数据">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
linux下利用RTMP协议<em>接收</em>数据 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-03</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
4139</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011046042/article/details/53017992" target="_blank" title="linux下利用RTMP协议接收数据">
|
|
|
|
|
<span class="desc oneline">在windows下利用RTMP接收数据的代码有很多的例子可以参考,但是在linux下利用rtmp协议接收数据,例子特别少。在无计可用的情况下,只能自己写代码了。在写代码之前需要做一点事情,去rtmp官...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/u011046042">来自: <span class="blog_title"> 求是07的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/fishmai/article/details/74840514,BlogCommendFromGuangxin_5,index_5"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/fishmai/article/details/74840514" target="_blank" title="iOS单个app最大内存占用限制">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
iOS单个app最大内存占用限制 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-08</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
5529</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/fishmai/article/details/74840514" target="_blank" title="iOS单个app最大内存占用限制">
|
|
|
|
|
<span class="desc oneline">device:(crashamount/totalamount/percentageoftotal)iPad1:127MB/256MB/49%iPad2:275MB/512MB/53%iPad3:64...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/fishmai">来自: <span class="blog_title"> fishmai的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tong5956/article/details/81480043,BlogCommendFromGuangxin_6,index_6"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tong5956/article/details/81480043" target="_blank" title="OBS-rtmp源码剖析之rtmp客户端通信介绍(三)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
OBS-rtmp源码剖析之rtmp客户端通信介绍(三) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">08-07</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
101</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tong5956/article/details/81480043" target="_blank" title="OBS-rtmp源码剖析之rtmp客户端通信介绍(三)">
|
|
|
|
|
<span class="desc oneline">这里主要接着上一篇继续网络连接部分的讲解。1、socket协议协商staticintSocksNegotiate(RTMP*r){unsignedlongaddr;structsockaddr_sto...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/tong5956">来自: <span class="blog_title"> tong5956的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/lyp_558/article/details/79687886,BlogCommendFromGuangxin_7,index_7"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lyp_558/article/details/79687886" target="_blank" title="Android为什么会有65536的方法数量限制">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
Android为什么会有65536的方法数量限制 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">03-25</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
968</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lyp_558/article/details/79687886" target="_blank" title="Android为什么会有65536的方法数量限制">
|
|
|
|
|
<span class="desc oneline">这里给大家推荐一个Android源码网站:http://androidxref.com/(无需翻墙)前言65536是什么样的数?2的16次方或者说64KB下边这个error是不是很熟悉较高版本的And...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/lyp_558">来自: <span class="blog_title"> 狂野之士</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_60" data-pid="60" data-track-view="{"mod":"kp_popu_60-43","con":",,"}" data-track-click="{"mod":"kp_popu_60-43","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398775_645" id="QIHOO__WEB__SO__1551757398775_645" style="display:block;margin:0;padding:0;border:none;width:900px;height:84px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398775_645-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398775_645 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&price=AAAAAFx98FUAAAAAAAn8OMM4k9PDS5XGKzV+EA==&finfo=DAABCAABAAAAzQgAAgAAAGIEAAM/XkaCfvLbLAAIAAIAAAADCgADXSapPOOxgxUIAAQAAABvBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAH0fQAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FdqGURXKxskCFby0tRcV/KHiWBUEFRwW7pnrnhcWztX0t47P1Ka6ATQCFqjAkIAIJQYV883a5Q4VvgMVADaM7ty2icTPnJkBAA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=QzWflBYie8G=&url=http%3A%2F%2Fgp.51ysh.top" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAAzQgAAgAAAGIEAAM/XkaCfvLbLAAIAAIAAAADCgADXSapPOOxgxUIAAQAAABvBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAH0fQAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FdqGURXKxskCFby0tRcV/KHiWBUEFRwW7pnrnhcWztX0t47P1Ka6ATQCFqjAkIAIJQYV883a5Q4VvgMVADaM7ty2icTPnJkBAA&ds=1&price=AAAAAFx98FUAAAAAAAn8OMM4k9PDS5XGKzV+EA==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=1&z=1&ps=0&w=AAAAAFx98FUAAAAAAAn8bVRqs4BGjQZAda84cw&pt=1&k=h95JOgAAAAA=&i=xYcPiBVFZ9hi&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=1&ps=0&k=h95JOgAAAAA=&i=xYcPiBVFZ9hi&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/663981-d4b27abf1da927c2af63850bd9fcd3fc.jpg)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">一位退役操盘手肺腑之言,写给无数正在亏钱的散户!</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">豪嘉利 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 900,
|
|
|
|
|
h : 84,
|
|
|
|
|
showid : 'Afihld',
|
|
|
|
|
placeholderId: "three_ad8",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 10,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626907,searchFromBaidu1_0,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626907,searchFromBaidu1_0,-"}" data-flg="true"> <a href="https://blog.csdn.net/wongainia158158/article/details/48626907" target="_blank"> <h4 class="text-truncate oneline"><em>LibRTMP</em><em>源代码分析</em>6 - wongainia158158的博客 - CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-20</span> </p> </div> <p class="content oneline"></p> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48625871,searchFromBaidu1_1,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48625871,searchFromBaidu1_1,-"}" data-flg="true"> <a href="https://blog.csdn.net/wongainia158158/article/details/48625871" target="_blank"> <h4 class="text-truncate oneline"><em>LibRTMP</em><em>源代码分析</em>5:建立网络连接 - wongainia158158的博客 - ...</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-2</span> </p> </div> <p class="content oneline">来自: wongainia158158的博客 LibRTMP源代码分析8:发送消息(Send RTMPPacket) ...RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据) 10-...</p> </a> </div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/hcmsdc/article/details/82178937,BlogCommendFromGuangxin_8,index_8"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/hcmsdc/article/details/82178937" target="_blank" title="转换H264视频流到RTMP服务器">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
转换H264视频流到RTMP服务器 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">08-29</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
221</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/hcmsdc/article/details/82178937" target="_blank" title="转换H264视频流到RTMP服务器">
|
|
|
|
|
<span class="desc oneline">最近一直想做一个简易的直播服务,上网参考了很多朋友写的如何转换RTMP流的文章,https://blog.csdn.net/scnu20142005027/article/details/606236...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/hcmsdc">来自: <span class="blog_title"> hcmsdc的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/lucyTheSlayer/article/details/79788561,BlogCommendFromGuangxin_9,index_9"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lucyTheSlayer/article/details/79788561" target="_blank" title="librtmp 源码分析笔记 RTMP_ReadPacket">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em> 源码分析笔记 RTMP_ReadPacket </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">04-02</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
338</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lucyTheSlayer/article/details/79788561" target="_blank" title="librtmp 源码分析笔记 RTMP_ReadPacket">
|
|
|
|
|
<span class="desc oneline">索性一口气把RTMP_ReadPacket也记录下来,好尽快开始对具体上层协议实现细节进行细读。与RTMP_SendPacket不同,RTMP_ReadPacket需要多次调用(每次读取一个chunk...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/lucyTheSlayer">来自: <span class="blog_title"> lucyTheSlayer的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626615,searchFromBaidu1_2,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626615,searchFromBaidu1_2,-"}" data-flg="true"> <a href="https://blog.csdn.net/wongainia158158/article/details/48626615" target="_blank"> <h4 class="text-truncate oneline">...代码分析6:建立网络流 - wongainia158158的博客 - CSDN博客...</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-3</span> </p> </div> <p class="content oneline">LibRTMP源代码分析6:建立网络流 2015年09月21日 15:06:41 wongainia158158 阅读数:346 建立了RTMP网络连...</p> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/hffgjh/article/details/87929630,searchFromBaidu1_3,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/hffgjh/article/details/87929630,searchFromBaidu1_3,-"}" data-flg="true"> <a href="https://blog.csdn.net/hffgjh/article/details/87929630" target="_blank"> <h4 class="text-truncate oneline">RTMPdump(<em>libRTMP</em>) <em>源代码分析</em> 9 <em>接收</em><em>消息</em>(Message)(接..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">2-26</span> </p> </div> <p class="content oneline">RTMPdump (libRTMP) 源代码分析9: 接收消息 (Message) (接收视音频数据) ...博文 来自: wongainia158158的博客 使用librtmp接收直播流和点播流并保存 05...</p> </a> </div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
|
|
|
|
|
<div class="d-flex">
|
|
|
|
|
<div class="blog-expert-recommend">
|
|
|
|
|
<div class="blog-expert">
|
|
|
|
|
<div class="blog-expert-flexbox" data-track-view="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/byxdaz" target="_blank"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_byxdaz.jpg" alt="byxdaz" title="byxdaz"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a><span data-track-click="{"mod":"popu_710","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><span class="blog-expert-button-follow btn-red-follow" data-name="byxdaz" data-nick="byxdaz">关注</span></span></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/byxdaz" target="_blank"><h5 class="oneline" title="byxdaz">byxdaz</h5></a></span> <p></p><p class="article-num" title="949篇文章"> 949篇文章</p><p class="article-num" title="排名:86"> 排名:86</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/wongainia158158" target="_blank"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_wongainia158158.gif" alt="wongainia158158" title="wongainia158158"></a><span data-track-click="{"mod":"popu_710","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><span class="blog-expert-button-follow btn-red-follow" data-name="wongainia158158" data-nick="wongainia158158">关注</span></span></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/wongainia158158" target="_blank"><h5 class="oneline" title="wongainia158158">wongainia158158</h5></a></span> <p></p><p class="article-num" title="47篇文章"> 47篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/leixiaohua1020" target="_blank"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_leixiaohua1020.jpg" alt="雷霄骅" title="雷霄骅"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a><span data-track-click="{"mod":"popu_710","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><span class="blog-expert-button-follow btn-red-follow" data-name="leixiaohua1020" data-nick="雷霄骅">关注</span></span></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.csdn.net/wongainia158158/article/details/48627039"}"><a href="https://blog.csdn.net/leixiaohua1020" target="_blank"><h5 class="oneline" title="雷霄骅">雷霄骅</h5></a><
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48627119,BlogCommendFromQuerySearch_10,index_10"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48627119" target="_blank" title="LibRTMP源代码分析10:处理消息">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>10:处理<em>消息</em> </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
303</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48627119" target="_blank" title="LibRTMP源代码分析10:处理消息">
|
|
|
|
|
<span class="desc oneline">函数RTMP_ClientPacket()是libRTMP中最重要的核心函数之一,主要完成各种消息的处理。/** *@brief根据接收到的消息类型的不同,作出不同的处理。 * 消息类型有协议控制消息...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061317,searchFromBaidu1_4,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061317,searchFromBaidu1_4,-"}" data-flg="true"> <a href="https://blog.csdn.net/tongjing524/article/details/38061317" target="_blank"> <h4 class="text-truncate oneline"><em>LibRTMP</em><em>源代码分析</em>10:处理<em>消息</em>(Handle Message) - tong..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-17</span> </p> </div> <p class="content oneline">函数RTMP_ClientPacket()是libRTMP中最重要的核心函数之一,主要完成各种消息的处理。/** * @brief 根据接收到的消息类型的不同,作出不同的处理。...</p> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12958747,searchFromBaidu1_5,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12958747,searchFromBaidu1_5,-"}" data-flg="true"> <a href="https://blog.csdn.net/leixiaohua1020/article/details/12958747" target="_blank"> <h4 class="text-truncate oneline">RTMPdump(<em>libRTMP</em>) <em>源代码分析</em> 8: 发送<em>消息</em>(Message) -..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">12-22</span> </p> </div> <p class="content oneline">RTMPdump (libRTMP) 源代码分析9: 接收消息 (Message) (接收视音频数据)...来自: wongainia158158的博客 实时直播协议:编译RTMPdump(libRTMP) 09-11 2689...</p> </a> </div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12952977,BlogCommendFromQuerySearch_11,index_11"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12952977" target="_blank" title="RTMPdump 源代码分析 1: main()函数">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPdump <em>源代码分析</em> 1: main()函数 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-22</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
2</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12952977" target="_blank" title="RTMPdump 源代码分析 1: main()函数">
|
|
|
|
|
<span class="desc oneline">rtmpdump是一个用来处理RTMP流媒体的工具包,支持rtmp://,rtmpt://,rtmpe://,rtmpte://,andrtmps://等。之前在学习RTMP协议的时候,发现没有讲它源...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/qq_29214249/article/details/70859671,BlogCommendFromQuerySearch_12,index_12"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq_29214249/article/details/70859671" target="_blank" title="linux下基于libRTMP的接收流媒体的程序">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
linux下基于<em>libRTMP</em>的<em>接收</em>流媒体的程序 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">04-27</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
647</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq_29214249/article/details/70859671" target="_blank" title="linux下基于libRTMP的接收流媒体的程序">
|
|
|
|
|
<span class="desc oneline">看了雷博的一篇关于rtmp的文章,学习记录以作备忘。使用librtmp接收RTMP流的函数执行流程图如下图:流程图中关键函数的作用如下所列:InitSockets():初始化SocketRTMP_Al...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/qq_29214249">来自: <span class="blog_title"> 狗尾巴草的一亩三分地儿</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061235,searchFromBaidu1_6,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061235,searchFromBaidu1_6,-"}" data-flg="true"> <a href="https://blog.csdn.net/tongjing524/article/details/38061235" target="_blank"> <h4 class="text-truncate oneline"><em>LibRTMP</em><em>源代码分析</em>7:发送<em>消息</em>(Send Message) - tongjin..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">10-15</span> </p> </div> <p class="content oneline">RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据) leixiaohua...wongainia158158 09-21 330 在详细分析函数RTMP_SendPacket()之前,让我们...</p> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/huangmindong/article/details/26574653,searchFromBaidu1_7,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/huangmindong/article/details/26574653,searchFromBaidu1_7,-"}" data-flg="true"> <a href="https://blog.csdn.net/huangmindong/article/details/26574653" target="_blank"> <h4 class="text-truncate oneline"><em>LibRTMP</em><em>源代码分析</em>8:发送<em>消息</em>(Send RTMPPacket) - huan..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-18</span> </p> </div> <p class="content oneline">Type; // Message type ID(1-7协议控制;8,9音视频;10以后为AMF编码消息)...RTMP协议分析及H.264打包原理 - 灿哥哥的博客 10-20 1.3万 RTMP是Real ...</p> </a> </div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_61" data-pid="61" data-track-view="{"mod":"kp_popu_61-557","con":",,"}" data-track-click="{"mod":"kp_popu_61-557","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398853_387" id="QIHOO__WEB__SO__1551757398853_387" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398853_387-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398853_387 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&price=AAAAAFx98FUAAAAAAAkFYfbCPb53hma7xb/7vA==&finfo=DAABCAABAAAAWQgAAgAAAEEEAAM/VekM2N9oUgAIAAIAAAADCgADVMGo/PTaNY4IAAQAAABDBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADbNtAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FfakUBW2xMoCFfqluRcVxpPlWBUEFRwWsOmSnBcWztX3lI2/1MGpATQEFrDAkIAIJQYV0rymyQoVpgEVADbC3onUyZrJ3hoA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=8Ym2UWyboQ-=&url=http%3A%2F%2Fxmx.zhechaigu.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAAWQgAAgAAAEEEAAM/VekM2N9oUgAIAAIAAAADCgADVMGo/PTaNY4IAAQAAABDBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADbNtAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FfakUBW2xMoCFfqluRcVxpPlWBUEFRwWsOmSnBcWztX3lI2/1MGpATQEFrDAkIAIJQYV0rymyQoVpgEVADbC3onUyZrJ3hoA&ds=2&price=AAAAAFx98FUAAAAAAAkFYfbCPb53hma7xb/7vA==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=2&z=1&ps=0&w=AAAAAFx98FUAAAAAAAkFgPrXFHi94OGIfs0_lQ&pt=1&k=LRsRzQAAAAA=&i=OHtJ5mVFZ9gT&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=2&ps=0&k=LRsRzQAAAAA=&i=OHtJ5mVFZ9gT&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/657723-f8bb080369cfe31efb2c4d02bedbc5e9.gif)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">一个长期喝土蜂蜜的人,竟然变成了这样,再忙也要看一下</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">科技 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 60,
|
|
|
|
|
showid : 'GNKXx7',
|
|
|
|
|
placeholderId: "three_ad13",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/chinabinlang/article/details/45690607,BlogCommendFromQuerySearch_13,index_13"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/chinabinlang/article/details/45690607" target="_blank" title="使用librtmp接收直播流和点播流并保存">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
使用<em>librtmp</em><em>接收</em>直播流和点播流并保存 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">05-13</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
5143</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/chinabinlang/article/details/45690607" target="_blank" title="使用librtmp接收直播流和点播流并保存">
|
|
|
|
|
<span class="desc oneline">来自rtmpdump.crtmpdump可使用命令直播流rtmpdump.exe-osavename.flv-rrtmp://127.0.0.1/live/testlive-v点播流rtmpdump....</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/chinabinlang">来自: <span class="blog_title"> chinabinlang的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/lcalqf/article/details/78849912,searchFromBaidu1_8,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/lcalqf/article/details/78849912,searchFromBaidu1_8,-"}" data-flg="true"> <a href="https://blog.csdn.net/lcalqf/article/details/78849912" target="_blank"> <h4 class="text-truncate oneline">rtmp源码分析 - lcalqf的专栏 - CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-17</span> </p> </div> <p class="content oneline">LibRTMP源代码分析5:建立网络连接 - wongainia158158的博客 09-21 557 服务...RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据) - 雷霄...</p> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12954329,searchFromBaidu1_9,-"}" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12954329,searchFromBaidu1_9,-"}" data-flg="true"> <a href="https://blog.csdn.net/leixiaohua1020/article/details/12954329" target="_blank"> <h4 class="text-truncate oneline">RTMPdump(<em>libRTMP</em>)<em>源代码分析</em> 4: 连接第一步——握手(H..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">11-5</span> </p> </div> <p class="content oneline">RTMPdump (libRTMP) 源代码分析9: 接收消息 (Message) (接收视音频数据)...LibRTMP源代码分析5:建立网络连接 - wongainia158158的博客 09-21 549 服务...</p> </a> </div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/gengxt2003/article/details/51678565,BlogCommendFromQuerySearch_14,index_14"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gengxt2003/article/details/51678565" target="_blank" title="用librtmp 接收数据">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
用<em>librtmp</em> <em>接收</em>数据 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-15</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1752</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gengxt2003/article/details/51678565" target="_blank" title="用librtmp 接收数据">
|
|
|
|
|
<span class="desc oneline">使用librtmp接收数据时,需要注意的几个问题。</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/gengxt2003">来自: <span class="blog_title"> 为了理想而奋斗</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/42104893,BlogCommendFromBaidu_15,index_15"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/42104893" target="_blank" title="最简单的基于librtmp的示例:接收(RTMP保存为FLV)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
最简单的基于<em>librtmp</em>的示例:<em>接收</em>(RTMP保存为FLV) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">12-25</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
2</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/42104893" target="_blank" title="最简单的基于librtmp的示例:接收(RTMP保存为FLV)">
|
|
|
|
|
<span class="desc oneline">本文记录一个基于libRTMP的接收流媒体的程序:SimplestlibRTMPReceive。该程序可以将RTMP流保存成本地FLV文件。实际上本文记录的程序就是一个“精简”过的RTMPDump。R...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/mandagod/article/details/53495638,BlogCommendFromBaidu_16,index_16"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/mandagod/article/details/53495638" target="_blank" title="RTMPdump源码分析: 接收消息(Message)(接收视音频数据)(9)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPdump源码分析: <em>接收</em><em>消息</em>(Message)(<em>接收</em>视音频数据)(9) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">12-06</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
297</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/mandagod/article/details/53495638" target="_blank" title="RTMPdump源码分析: 接收消息(Message)(接收视音频数据)(9)">
|
|
|
|
|
<span class="desc oneline">函数调用结构图RTMPDump(libRTMP)的整体的函数调用结构图如下图所示。详细分析在这里在研究研究接收消息(Message)的源代码,接收消息最典型的应用就是接收视音频数据了,因为视频和音频分...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/mandagod">来自: <span class="blog_title"> mandagod的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/NB_vol_1/article/details/59112170,BlogCommendFromBaidu_17,index_17"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/NB_vol_1/article/details/59112170" target="_blank" title="RTMP学习(十二)rtmpdump源码阅读(6)数据接收">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMP学习(十二)rtmpdump源码阅读(6)数据<em>接收</em> </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">03-01</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
464</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/NB_vol_1/article/details/59112170" target="_blank" title="RTMP学习(十二)rtmpdump源码阅读(6)数据接收">
|
|
|
|
|
<span class="desc oneline">数据接收 这一篇很重要,下面将结合chunk的结构来分析,数据是怎么样从网络上读取的,以及如何解析它们。chunk的结构 //rtmp消息块 typedefstructRTMPPacket { ...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/NB_vol_1">来自: <span class="blog_title"> NB_vol_1的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_62" data-pid="62" data-track-view="{"mod":"kp_popu_62-556","con":",,"}" data-track-click="{"mod":"kp_popu_62-556","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398904_111" id="QIHOO__WEB__SO__1551757398904_111" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398904_111-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398904_111 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&price=AAAAAFx98FUAAAAAAAn83CubVI0XshrvXX6lng==&finfo=DAABCAABAAAAtAgAAgAAAEUEAAM/ZWfHcBXuKAAIAAIAAAADCgADXSayVHj5o+8IAAQAAABFBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAG3dAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWztWJn5iV2aa6ATQEFqjAkIAIJQYV4PDJtAMVpgEVADbngrbn8Mu1/VwA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=hAJ3LqJQ7-I=&url=http%3A%2F%2Ffm.yanganghao.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAAtAgAAgAAAEUEAAM/ZWfHcBXuKAAIAAIAAAADCgADXSayVHj5o+8IAAQAAABFBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAG3dAAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWztWJn5iV2aa6ATQEFqjAkIAIJQYV4PDJtAMVpgEVADbngrbn8Mu1/VwA&ds=2&price=AAAAAFx98FUAAAAAAAn83CubVI0XshrvXX6lng==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=2&z=1&ps=0&w=AAAAAFx98FUAAAAAAAn9AyP2hUIrF-N4j9T1iw&pt=1&k=h95JOgAAAAA=&i=xY5PiBVFZ9hk&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=2&ps=0&k=h95JOgAAAAA=&i=xY5PiBVFZ9hk&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/651933-b2a9c3fea716f43f25f7267ebdbc79ff.gif)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">千万不要再乱喝蜂蜜了,记者亲赴深山,揭露背后惊人黑幕!</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">树米 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 60,
|
|
|
|
|
showid : 'Afihld',
|
|
|
|
|
placeholderId: "three_ad18",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-click="{"mod":"popu_387","con":",https://download.csdn.net/download/b35838715/6440845,BlogCommendFromBaidu_18,index_18"}" data-flg="true">
|
|
|
|
|
<a href="https://download.csdn.net/download/b35838715/6440845" target="_blank">
|
|
|
|
|
<div class="content clearfix">
|
|
|
|
|
<div class="">
|
|
|
|
|
<h4 class="text-truncate oneline clearfix">
|
|
|
|
|
rtmp源数据抓取并保存 </h4>
|
|
|
|
|
<span class="data float-right">10-23</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="desc oneline">
|
|
|
|
|
非常适合学习RTMP协议及加解密的朋友 优化了之前发布的rtmp client程序 1 使用hmac进行三次握手,解决不发送h264流的问题 2 支持 Aggreagte支持 3 加入心跳时间,同步服 </div>
|
|
|
|
|
<span class="type-show type-show-download">下载</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12971635,BlogCommendFromBaidu_19,index_19"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12971635" target="_blank" title="RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPdump(<em>libRTMP</em>) <em>源代码分析</em> 9: <em>接收</em><em>消息</em>(Message)(<em>接收</em>视音频数据) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-23</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12971635" target="_blank" title="RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)">
|
|
|
|
|
<span class="desc oneline">前一篇文章分析了RTMPdump(libRTMP)的发送消息(Message)方面的源代码:RTMPdump(libRTMP)源代码分析8:发送消息(Message)在这里在研究研究接收消息(Mess...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/huangmindong/article/details/26574653,BlogCommendFromQuerySearch_20,index_20"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/huangmindong/article/details/26574653" target="_blank" title="LibRTMP源代码分析8:发送消息(Send RTMPPacket)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>8:发送<em>消息</em>(Send RTMPPacket) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">05-22</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1739</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/huangmindong/article/details/26574653" target="_blank" title="LibRTMP源代码分析8:发送消息(Send RTMPPacket)">
|
|
|
|
|
<span class="desc oneline">在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedefstructRTMPPacket{ uint8_t m_headerType;/...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/huangmindong">来自: <span class="blog_title"> huangmindong的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/byxdaz/article/details/53993791,BlogCommendFromQuerySearch_21,index_21"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/byxdaz/article/details/53993791" target="_blank" title="librtmp获取视频流和音频流1">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em>获取视频流和音频流1 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">01-03</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3444</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/byxdaz/article/details/53993791" target="_blank" title="librtmp获取视频流和音频流1">
|
|
|
|
|
<span class="desc oneline">libRTMP从RTMP包中获取音频和视频数据。</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/byxdaz">来自: <span class="blog_title"> 深之JohnChen的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/xiapang009/article/details/79626327,BlogCommendFromQuerySearch_22,index_22"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/xiapang009/article/details/79626327" target="_blank" title="librtmp 时间戳超过 0xffffff时,crtmpserver掉连接">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em> 时间戳超过 0xffffff时,crtmpserver掉连接 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">03-20</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
122</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/xiapang009/article/details/79626327" target="_blank" title="librtmp 时间戳超过 0xffffff时,crtmpserver掉连接">
|
|
|
|
|
<span class="desc oneline">最近在IPCamer上做rtmp推流,遇到很多问题,究其因,对协议本身不熟悉。遇到问题,当使用librtmp,发送实时码流时,4.66小时后即会掉连接。网上有帖子讲解是什么原因造成的,但始终没找到一个...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/xiapang009">来自: <span class="blog_title"> xiapang009的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_63" data-pid="63" data-track-view="{"mod":"kp_popu_63-555","con":",,"}" data-track-click="{"mod":"kp_popu_63-555","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757398975_12" id="QIHOO__WEB__SO__1551757398975_12" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757398975_12-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757398975_12 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&price=AAAAAFx98FUAAAAAAAkFyLr/W1v8Y/nEguLu0w==&finfo=DAABCAABAAAATAgAAgAAAEQEAAM/Ue3xh4E5fgAIAAIAAAADCgADVMGyFAhbEUcIAAQAAABFBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAAC5moAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWztWM/JaF2cGpATQGFrDAkIAIJQYV+vORggsVpgEVADbngrbn8Mu1/VwA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=hAJ3LqJQ7-I=&url=http%3A%2F%2Ffm.yanganghao.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAATAgAAgAAAEQEAAM/Ue3xh4E5fgAIAAIAAAADCgADVMGyFAhbEUcIAAQAAABFBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAAC5moAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWztWM/JaF2cGpATQGFrDAkIAIJQYV+vORggsVpgEVADbngrbn8Mu1/VwA&ds=3&price=AAAAAFx98FUAAAAAAAkFyLr/W1v8Y/nEguLu0w==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=3&z=1&ps=0&w=AAAAAFx98FUAAAAAAAkF57RqdarIIdF8eOpFXQ&pt=1&k=LRsRzQAAAAA=&i=OHpJ5mVFZ9hd&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=3&ps=0&k=LRsRzQAAAAA=&i=OHpJ5mVFZ9hd&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/651933-b2a9c3fea716f43f25f7267ebdbc79ff.gif)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">千万不要再乱喝蜂蜜了,记者亲赴深山,揭露背后惊人黑幕!</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">树米 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 60,
|
|
|
|
|
showid : 'GNKXx7',
|
|
|
|
|
placeholderId: "three_ad23",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wishfly/article/details/74583491,BlogCommendFromQuerySearch_23,index_23"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wishfly/article/details/74583491" target="_blank" title="librtmp接收flv流中提取h264码流:根据多个资料汇总">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em><em>接收</em>flv流中提取h264码流:根据多个资料汇总 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-06</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1511</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wishfly/article/details/74583491" target="_blank" title="librtmp接收flv流中提取h264码流:根据多个资料汇总">
|
|
|
|
|
<span class="desc oneline">rtmpdump可以下载rtmp流并保存成flv文件。如果要对流中的音频或视频单独处理,需要根据flv协议分别提取。简单修改rtmpdump代码,增加相应功能。1提取音频:rtmpdump程序在Dow...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wishfly">来自: <span class="blog_title"> tianyu的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061317,BlogCommendFromQuerySearch_24,index_24"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061317" target="_blank" title="LibRTMP源代码分析10:处理消息(Handle Message)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>10:处理<em>消息</em>(Handle Message) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-23</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1623</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061317" target="_blank" title="LibRTMP源代码分析10:处理消息(Handle Message)">
|
|
|
|
|
<span class="desc oneline">转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412473745809/</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/tongjing524">来自: <span class="blog_title"> tongjing524的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-click="{"mod":"popu_387","con":",https://download.csdn.net/download/leixiaohua1020/8291757,BlogCommendFromQuerySearch_25,index_25"}" data-flg="true">
|
|
|
|
|
<a href="https://download.csdn.net/download/leixiaohua1020/8291757" target="_blank">
|
|
|
|
|
<div class="content clearfix">
|
|
|
|
|
<div class="">
|
|
|
|
|
<h4 class="text-truncate oneline clearfix">
|
|
|
|
|
最简单的基于<em>libRTMP</em>的示例 </h4>
|
|
|
|
|
<span class="data float-right">12-23</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="desc oneline">
|
|
|
|
|
本工程包含了LibRTMP的使用示例,包含如下子工程:
|
|
|
|
|
simplest_librtmp_receive: 接收RTMP流媒体并在本地保存成FLV格式的文件。
|
|
|
|
|
simplest_librtmp_send_flv: 将FLV格式的视音频文件... </div>
|
|
|
|
|
<span class="type-show type-show-download">下载</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/weixin_36983723/article/details/83542415,BlogCommendFromQuerySearch_26,index_26"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/weixin_36983723/article/details/83542415" target="_blank" title="基于librtmp的直播推流方案">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
基于<em>librtmp</em>的直播推流方案 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-30</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
191</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/weixin_36983723/article/details/83542415" target="_blank" title="基于librtmp的直播推流方案">
|
|
|
|
|
<span class="desc oneline">最近在做关于rtmp直播推流的项目,本身对rtmp也是一窍不通的,关于连接封装方面的资料也是看了很多,软件实现还是没有什么头绪,在看了雷神的基于librtmp的例子后(https://blog.csd...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/weixin_36983723">来自: <span class="blog_title"> weixin_36983723的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/fireroll/article/details/18942873,BlogCommendFromQuerySearch_27,index_27"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/fireroll/article/details/18942873" target="_blank" title="RTMPDump(libRTMP) 源代码分析">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPDump(<em>libRTMP</em>) <em>源代码分析</em> </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">02-05</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
2461</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/fireroll/article/details/18942873" target="_blank" title="RTMPDump(libRTMP) 源代码分析">
|
|
|
|
|
<span class="desc oneline">之前分析了一下RTMPDump的Main()函数,其中获取RTMP流媒体数据很重要的前提是RTMP的URL的解析。如果没有这一步,那程序在强大也是白搭。现在来解析一下这个函数吧:RTMP_ParseU...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/fireroll">来自: <span class="blog_title"> 北雨南萍</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_64" data-pid="64" data-track-view="{"mod":"kp_popu_64-81","con":",,"}" data-track-click="{"mod":"kp_popu_64-81","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757399033_760" id="QIHOO__WEB__SO__1551757399033_760" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757399033_760-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757399033_760 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&price=AAAAAFx98FUAAAAAAAn9bAY80ijsWsjfFuJmNQ==&finfo=DAABCAABAAAAswgAAgAAAGUEAAM/W+zBxfUqhAAIAAIAAAADCgADXSbEhRBXCAAIAAQAAABpBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAG1AwAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FfSAThXMlsICFebStBcV1PvaWBUEFRwWkrvwkBcWztWz7auh4qa6ATQGFqjAkIAIJQYV0c6exwkVvgUVADaf7sHm/rWoqXQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=QzWflBYie8G=&url=http%3A%2F%2Fvip.qqqssp.top%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAAswgAAgAAAGUEAAM/W+zBxfUqhAAIAAIAAAADCgADXSbEhRBXCAAIAAQAAABpBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAG1AwAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FfSAThXMlsICFebStBcV1PvaWBUEFRwWkrvwkBcWztWz7auh4qa6ATQGFqjAkIAIJQYV0c6exwkVvgUVADaf7sHm/rWoqXQA&ds=3&price=AAAAAFx98FUAAAAAAAn9bAY80ijsWsjfFuJmNQ==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=3&z=1&ps=0&w=AAAAAFx98FUAAAAAAAn9lLFbB1lbCG4-ndHByA&pt=1&k=h95JOgAAAAA=&i=xYkPiBVFZ9gJ&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=3&ps=0&k=h95JOgAAAAA=&i=xYkPiBVFZ9gJ&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/639034-eb8e829aa15cdc57f1a4d2803f397e8e.gif)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">科技园25岁美女手机做这个,1年存款吓呆父母!!</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">中泰投资 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 60,
|
|
|
|
|
showid : 'Afihld',
|
|
|
|
|
placeholderId: "three_ad28",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48624409,BlogCommendFromQuerySearch_28,index_28"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48624409" target="_blank" title="LibRTMP源代码分析1">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>1 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
439</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48624409" target="_blank" title="LibRTMP源代码分析1">
|
|
|
|
|
<span class="desc oneline">1. 背景知识 RTMP(RealTimeMessagingProtocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。RTM...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061083,BlogCommendFromQuerySearch_29,index_29"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061083" target="_blank" title="LibRTMP源代码分析1:概述">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>1:概述 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-23</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
652</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061083" target="_blank" title="LibRTMP源代码分析1:概述">
|
|
|
|
|
<span class="desc oneline">此系列文章主要总结一下我在学习RTMP协议以及LibRTMP源代码过程中积累的经验。 详细分析了RTMP源代码是如何与RTMP协议对应起来的,使得代码与协议有明确的对应关系,便于理解协议和使用LibR...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/tongjing524">来自: <span class="blog_title"> tongjing524的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48625123,BlogCommendFromQuerySearch_30,index_30"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625123" target="_blank" title="LibRTMP源代码分析2">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>2 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
305</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625123" target="_blank" title="LibRTMP源代码分析2">
|
|
|
|
|
<span class="desc oneline">获取RTMP流媒体数据很重要的前提是RTMP的URL的解析,首先回顾一下
|
|
|
|
|
RTMP的URL的格
|
|
|
|
|
式: url=“rtmp://pub1.guoshi.com:1935
|
|
|
|
|
/pushstation/2...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48630207,BlogCommendFromQuerySearch_31,index_31"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48630207" target="_blank" title="LibRTMP源代码分析3">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>3 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
263</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48630207" target="_blank" title="LibRTMP源代码分析3">
|
|
|
|
|
<span class="desc oneline">AMF协议是ActionMessageFormat协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的x...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48625103,BlogCommendFromQuerySearch_32,index_32"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625103" target="_blank" title="LibRTMP源代码分析4">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>4 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
277</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625103" target="_blank" title="LibRTMP源代码分析4">
|
|
|
|
|
<span class="desc oneline">在RTMP客户端和服务器端网络层连接成功之后,第一件事情就是RTMP的握手。至于为什么要握手,协议本身没有太多的描述,我理解的握手目的:握手的主要目的就是让客户端和服务器端互相打个招呼,其主要内容应该...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_65" data-pid="65" data-track-view="{"mod":"kp_popu_65-84","con":",,"}" data-track-click="{"mod":"kp_popu_65-84","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757399045_886" id="QIHOO__WEB__SO__1551757399045_886" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757399045_886-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757399045_886 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&price=AAAAAFx98FUAAAAAAAkGM5Hiqc6Ein5cK/0acw==&finfo=DAABCAABAAAANAgAAgAAAGEEAAM/QSWw1zwwHAAIAAIAAAADCgADVMG7Lba0eUEIAAQAAABkBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAACAKZAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FfaUURWIiMoCFe6etxcVoNPgWBUEFRwW5s6XnxcWztWh46DL3cGpATQIFrDAkIAIJQYVxJiv4w8VvgUVADaY4I7a6qL22cEBAA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=iM1nJ4mUj2d=&url=http%3A%2F%2Faaa.wfkge.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAANAgAAgAAAGEEAAM/QSWw1zwwHAAIAAIAAAADCgADVMG7Lba0eUEIAAQAAABkBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAACAKZAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a9357011607e&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FaixkwIlAhUEFs7Vxcqr9oeeqQEV8gglner3xQclABUaFAAA&ubi=FfaUURWIiMoCFe6etxcVoNPgWBUEFRwW5s6XnxcWztWh46DL3cGpATQIFrDAkIAIJQYVxJiv4w8VvgUVADaY4I7a6qL22cEBAA&ds=4&price=AAAAAFx98FUAAAAAAAkGM5Hiqc6Ein5cK/0acw==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=4&z=1&ps=0&w=AAAAAFx98FUAAAAAAAkGUFeG50ntGWJlbQ0xng&pt=1&k=LRsRzQAAAAA=&i=OSbJ5mVFZ9Zh&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a9357011607e&p=2255956&l=1136674&s=4&ps=0&k=LRsRzQAAAAA=&i=OSbJ5mVFZ9Zh&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/664891-77d5bea369e8d5db59b4caf3c367e636.gif)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">科技园25岁美女手机做这个,1年存款吓呆父母!!</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">顺意网络 · 鹓鶵</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 852,
|
|
|
|
|
h : 60,
|
|
|
|
|
showid : 'GNKXx7',
|
|
|
|
|
placeholderId: "three_ad33",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 18,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 0,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626907,BlogCommendFromQuerySearch_33,index_33"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48626907" target="_blank" title="LibRTMP源代码分析6">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>6 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
641</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48626907" target="_blank" title="LibRTMP源代码分析6">
|
|
|
|
|
<span class="desc oneline">前面介绍了建立网络连接(NetConnection)和建立网络流(NetStream),这些命令数据是怎么发送出去的呢?在底层是怎么实现的呢?接下来就要详细分析各种消息的发送过程。首先大致列举一下消息...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48627003,BlogCommendFromQuerySearch_34,index_34"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48627003" target="_blank" title="LibRTMP源代码分析8:发送消息">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>8:发送<em>消息</em> </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
335</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48627003" target="_blank" title="LibRTMP源代码分析8:发送消息">
|
|
|
|
|
<span class="desc oneline">在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedefstructRTMPPacket{ uint8_t m_headerType;/...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/42105049,BlogCommendFromQuerySearch_35,index_35"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/42105049" target="_blank" title="最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
最简单的基于<em>librtmp</em>的示例:发布H.264(H.264通过RTMP发布) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">12-27</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
4</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/42105049" target="_blank" title="最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)">
|
|
|
|
|
<span class="desc oneline">本文记录一个基于libRTMP的发布H.264码流的程序。该程序可以将H.264数据发布到RTMP流媒体服务器。目前这个例子还不是很稳定,下一步还有待修改。本程序使用回调函数作为输入,通过自定义的回调...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/u014287775/article/details/53505525,BlogCommendFromQuerySearch_36,index_36"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u014287775/article/details/53505525" target="_blank" title="基于libRTMP的流媒体直播之音频推送">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
基于<em>libRTMP</em>的流媒体直播之音频推送 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">12-07</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3133</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u014287775/article/details/53505525" target="_blank" title="基于libRTMP的流媒体直播之音频推送">
|
|
|
|
|
<span class="desc oneline">不论像RTMP服务器推送视频还是音频,都需要按照FLV格式进行封包,然后调用librtmp接口函数进行发送。透过对FLV文件协议的理解,我们在向RTMP服务器发送yin数据包之前,需要...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/u014287775">来自: <span class="blog_title"> 落幕的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/huibailingyu/article/details/50554315,BlogCommendFromQuerySearch_37,index_37"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/huibailingyu/article/details/50554315" target="_blank" title="librtmp发送AVC,AAC数据包">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em>发送AVC,AAC数据包 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">01-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3968</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/huibailingyu/article/details/50554315" target="_blank" title="librtmp发送AVC,AAC数据包">
|
|
|
|
|
<span class="desc oneline">1.libRTMP的包结构typedefstructRTMPPacket{uint8_tm_headerType;uint8_tm_packetType;uint8_tm_hasAbsTimestam...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/huibailingyu">来自: <span class="blog_title"> huibailingyu的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_66" data-pid="66" data-track-view="{"mod":"kp_popu_66-808","con":",,"}" data-track-click="{"mod":"kp_popu_66-808","con":",,"}"><iframe style="width: 100%; height: 60px; border: 0px none;" scrolling="no"></iframe></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-click="{"mod":"popu_387","con":",https://download.csdn.net/download/u014427391/10489377,BlogCommendFromQuerySearch_38,index_38"}" data-flg="true">
|
|
|
|
|
<a href="https://download.csdn.net/download/u014427391/10489377" target="_blank">
|
|
|
|
|
<div class="content clearfix">
|
|
|
|
|
<div class="">
|
|
|
|
|
<h4 class="text-truncate oneline clearfix">
|
|
|
|
|
RocketMQ<em>源代码分析</em>-事务<em>消息</em>-赵彬 </h4>
|
|
|
|
|
<span class="data float-right">06-20</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="desc oneline">
|
|
|
|
|
RocketMQ源代码分析-事务消息-赵彬 RocketMQ源代码分析-事务消息-赵彬 </div>
|
|
|
|
|
<span class="type-show type-show-download">下载</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/gongluck93/article/details/79126801,BlogCommendFromQuerySearch_39,index_39"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gongluck93/article/details/79126801" target="_blank" title="使用librtmp推流/拉流">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
使用<em>librtmp</em>推流/拉流 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">01-22</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
848</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gongluck93/article/details/79126801" target="_blank" title="使用librtmp推流/拉流">
|
|
|
|
|
<span class="desc oneline">准备工作#include"librtmp/rtmp_sys.h"#include"librtmp/log.h"#pragmacomment(lib,"librtmp.lib")#pragmacomme...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/gongluck93">来自: <span class="blog_title"> gongluck93的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061187,BlogCommendFromQuerySearch_40,index_40"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061187" target="_blank" title="LibRTMP源代码分析4:握手(HandShake)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>4:握手(HandShake) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-23</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1348</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061187" target="_blank" title="LibRTMP源代码分析4:握手(HandShake)">
|
|
|
|
|
<span class="desc oneline">转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412052439295/在RTMP客户端和服务器端网络层连接成功之后,第一件事情就...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/tongjing524">来自: <span class="blog_title"> tongjing524的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48625871,BlogCommendFromQuerySearch_41,index_41"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625871" target="_blank" title="LibRTMP源代码分析5:建立网络连接">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>5:建立网络连接 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
634</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625871" target="_blank" title="LibRTMP源代码分析5:建立网络连接">
|
|
|
|
|
<span class="desc oneline">服务器和客户端之间只能建立一个网络连接,但是基于该连接可以创建很多网络流。他们的关系如图所示: 网络连接的基本步骤在第一篇文章中有所介绍,此处不再重复。源代码中的RTMP_Connect(...)用于...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wongainia158158/article/details/48626615,BlogCommendFromQuerySearch_42,index_42"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48626615" target="_blank" title="LibRTMP源代码分析6:建立网络流">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>6:建立网络流 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-21</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
378</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48626615" target="_blank" title="LibRTMP源代码分析6:建立网络流">
|
|
|
|
|
<span class="desc oneline">建立了RTMP网络连接之后,客户端发送createStream命令到服务器端为消息连接创建一个逻辑通道。NetStream定义了这个传输逻辑通道,通过这个通道,音频流、视频流以及数据消息流可以通过连接...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wongainia158158">来自: <span class="blog_title"> wongainia158158的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_67" data-pid="67" data-track-view="{"mod":"kp_popu_67-808","con":",,"}" data-track-click="{"mod":"kp_popu_67-808","con":",,"}"><iframe style="width: 100%; height: 60px; border: 0px none;" scrolling="no"></iframe></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/tongjing524/article/details/38061151,BlogCommendFromQuerySearch_43,index_43"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061151" target="_blank" title="LibRTMP源代码分析3:AMF编码">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>LibRTMP</em><em>源代码分析</em>3:AMF编码 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-23</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
936</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/tongjing524/article/details/38061151" target="_blank" title="LibRTMP源代码分析3:AMF编码">
|
|
|
|
|
<span class="desc oneline">AMF协议是ActionMessageFormat协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的x...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/tongjing524">来自: <span class="blog_title"> tongjing524的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/darkdragonking/article/details/40657451,BlogCommendFromQuerySearch_44,index_44"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/darkdragonking/article/details/40657451" target="_blank" title="RTMPdump(libRTMP) 源代码分析大汇总">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPdump(<em>libRTMP</em>) <em>源代码分析</em>大汇总 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-31</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
433</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/darkdragonking/article/details/40657451" target="_blank" title="RTMPdump(libRTMP) 源代码分析大汇总">
|
|
|
|
|
<span class="desc oneline">从高手那里转载来的,因为人家都直接弄好了链接了,我直接抄的链接,作为尊重...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/darkdragonking">来自: <span class="blog_title"> 暗黑世界</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/STN_LCD/article/details/72903226,BlogCommendFromQuerySearch_45,index_45"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/STN_LCD/article/details/72903226" target="_blank" title="最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)——雷神经典">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
最简单的基于<em>librtmp</em>的示例:发布H.264(H.264通过RTMP发布)——雷神经典 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-07</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1060</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/STN_LCD/article/details/72903226" target="_blank" title="最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)——雷神经典">
|
|
|
|
|
<span class="desc oneline">http://blog.csdn.net/leixiaohua1020/article/details/42105049版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]======...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/STN_LCD">来自: <span class="blog_title"> STN_LCD的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/15814587,BlogCommendFromQuerySearch_46,index_46"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/15814587" target="_blank" title="[总结]RTMP流媒体技术零基础学习方法">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
[总结]RTMP流媒体技术零基础学习方法 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-18</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
10</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/15814587" target="_blank" title="[总结]RTMP流媒体技术零基础学习方法">
|
|
|
|
|
<span class="desc oneline">本文主要总结一些我在学习RTMP流媒体技术过程中积累的经验。也为后来学习RTMP流媒体技术的人们一个参考。本文力图从简到难,循序渐进的介绍RTMP流媒体技术的方方面面,先从应用说起,逐步深化剖析相关工...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/leixiaohua1020/article/details/12972399,BlogCommendFromQuerySearch_47,index_47"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12972399" target="_blank" title="RTMPdump(libRTMP) 源代码分析 10: 处理各种消息(Message)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
RTMPdump(<em>libRTMP</em>) <em>源代码分析</em> 10: 处理各种<em>消息</em>(Message) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-24</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12972399" target="_blank" title="RTMPdump(libRTMP) 源代码分析 10: 处理各种消息(Message)">
|
|
|
|
|
<span class="desc oneline">已经连续写了一系列的博客了,其实大部分内容都是去年搞RTMP研究的时候积累的经验,回顾一下过去的知识,其实RTMPdump(libRTMP)主要的功能也都分析的差不多了,现在感觉还需要一些查漏补缺。主...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_68" data-pid="68" data-track-view="{"mod":"kp_popu_68-654","con":",,"}" data-track-click="{"mod":"kp_popu_68-654","con":",,"}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551757399065_202" id="QIHOO__WEB__SO__1551757399065_202" style="display:block;margin:0;padding:0;border:none;width:900px;height:84px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551757399065_202-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551757399065_202 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&r=20&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&price=AAAAAFx98FUAAAAAAAn982IFMS6PnyyddmxWvA==&finfo=DAABCAABAAAApggAAgAAAGwEAAM/WLC4BjHAgQAIAAIAAAADCgADXSbNnTUJtQcIAAQAAABuBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAGVRgAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FZKVURWuj8oCFfbCtxcV2sThWBUEFSIWnIeAnxcWztXI1LXn5qa6ATQIFqjAECUGFZiPm+EHFfoFFQA29rmZt6mcmfXfAQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign2=5kauX_FHTaj=&url=http%3A%2F%2Fgp.yimugo.net%2F" data-pv="https://ssxd.mediav.com/s?type=1&r=20&tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&finfo=DAABCAABAAAApggAAgAAAGwEAAM/WLC4BjHAgQAIAAIAAAADCgADXSbNnTUJtQcIAAQAAABuBgAGLbcKAAkAAAAAAAIQFAYACgAACAAOAAAAPwoADwAAAAAAGVRgAA&mv_ref=blog.csdn.net&enup=CAABPY1BbQgAAm1BjT0A&mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&bid=1332a93543ec52ae&ugi=FcTgigEVyNtrTBUCFUAVXhUAABWYuYDUBRaACBXIARaA/efGldTBBQA&uai=FeTGlAIlAhUEFs7V39CEidCmugEV8ggljb7zZyUAFRoUAAA&ubi=FZKVURWuj8oCFfbCtxcV2sThWBUEFSIWnIeAnxcWztXI1LXn5qa6ATQIFqjAECUGFZiPm+EHFfoFFQA29rmZt6mcmfXfAQA&ds=4&price=AAAAAFx98FUAAAAAAAn982IFMS6PnyyddmxWvA==,https://max-l.mediav.com/rtb?type=2&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=4&z=1&ps=0&w=AAAAAFx98FUAAAAAAAn-Htd3-N49yv4FZWHmYg&pt=1&k=h95JOgAAAAA=&i=xYnPiBVFZ9hY&v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=1332a93543ec52ae&p=2265522&l=1136674&s=4&ps=0&k=h95JOgAAAAA=&i=xYnPiBVFZ9hY&v=05317565507371004090017&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&turl=">
|
|
|
|
|
<info-div class="wrap">
|
|
|
|
|
<info-div class="singleImage-img singleImage-img-left">
|
|
|
|
|
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/664905-636564b39bd35b3e10c5a99b6167bfbc.jpg)"><info-div class="ads-tag"></info-div></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div class="singleImage-body singleImage-body-left">
|
|
|
|
|
<info-div class="singleImage-title">股票“三不卖七不买“6字黄金口诀 只买井喷股 赢千万身价</info-div>
|
|
|
|
|
<info-div class="singleImage-desc">之星 · 顶新</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
<info-div style="clear:both;"></info-div>
|
|
|
|
|
</info-div>
|
|
|
|
|
</info-div></newsfeed></div>
|
|
|
|
|
<script>
|
|
|
|
|
NEWS_FEED({
|
|
|
|
|
w: 900,
|
|
|
|
|
h : 84,
|
|
|
|
|
showid : 'Afihld',
|
|
|
|
|
placeholderId: "three_ad48",
|
|
|
|
|
inject : 'define',
|
|
|
|
|
define : {
|
|
|
|
|
imagePosition : 'left',
|
|
|
|
|
imageBorderRadius : 3,
|
|
|
|
|
imageWidth: 90,
|
|
|
|
|
imageHeight: 60,
|
|
|
|
|
imageFill : 'clip',
|
|
|
|
|
displayImage : true,
|
|
|
|
|
displayTitle : true,
|
|
|
|
|
titleFontSize: 16,
|
|
|
|
|
titleFontColor: '#000',
|
|
|
|
|
titleFontFamily : 'Microsoft Yahei',
|
|
|
|
|
titleFontWeight: 'bold',
|
|
|
|
|
titlePaddingTop : 0,
|
|
|
|
|
titlePaddingRight : 0,
|
|
|
|
|
titlePaddingBottom : 5,
|
|
|
|
|
titlePaddingLeft : 16,
|
|
|
|
|
displayDesc : true,
|
|
|
|
|
descFontSize: 14,
|
|
|
|
|
descFontColor: '#8e959a',
|
|
|
|
|
descFontFamily : 'Microsoft Yahei',
|
|
|
|
|
paddingTop : 10,
|
|
|
|
|
paddingRight : 0,
|
|
|
|
|
paddingBottom : 0,
|
|
|
|
|
paddingLeft : 0,
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
hoverColor: '#000'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script></div></div>
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/coloriy/article/details/47108713,BlogCommendFromQuerySearch_48,index_48"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/coloriy/article/details/47108713" target="_blank" title="librtmp使用实例">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
<em>librtmp</em>使用实例 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-29</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1225</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/coloriy/article/details/47108713" target="_blank" title="librtmp使用实例">
|
|
|
|
|
<span class="desc oneline">20140826修改修改源码原C++改为CUnix下编译通过(CentOS6.5)下载文件会有VC6和Unix两个文件夹////////////////////////////////////////...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/coloriy">来自: <span class="blog_title"> 专注流媒体技术与方案!</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/liulina603/article/details/51851950,BlogCommendFromQuerySearch_49,index_49"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/liulina603/article/details/51851950" target="_blank" title="win7下利用vs2010编译librtmp静态库">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
win7下利用vs2010编译<em>librtmp</em>静态库 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-07</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
2777</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/liulina603/article/details/51851950" target="_blank" title="win7下利用vs2010编译librtmp静态库">
|
|
|
|
|
<span class="desc oneline">一、编译librtmp 下载rtmpdump的代码,你会发现,它是一个地道的linux项目,除了一个简单的Makefile,其他什么都没有。好像librtmp不依赖于系统,我们可以不用费太多功夫,把...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/liulina603">来自: <span class="blog_title"> liulina603的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/iwanghang/article/details/51290181,BlogCommendHotData_0,index_50"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/iwanghang/article/details/51290181" target="_blank" title="Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">05-01</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
7328</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/iwanghang/article/details/51290181" target="_blank" title="Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表">
|
|
|
|
|
<span class="desc oneline">实现功能:
|
|
|
|
|
实现NetMusicListAdapter(网络音乐列表适配器)
|
|
|
|
|
实现SearchResult(搜索音乐对象)
|
|
|
|
|
使用Jsoup组件请求网络,并解析音乐数据,并,音乐数据加载到列表中
|
|
|
|
|
实现F...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/iwanghang">来自: <span class="blog_title"> iwanghang(一个播音与主持艺术专业、干过网游打金工作室,做过海鲜小吃排挡的新手程序员)</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/diandianxiyu/article/details/53068012,BlogCommendHotData_1,index_51"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/diandianxiyu/article/details/53068012" target="_blank" title="【小程序】微信小程序开发实践">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
【小程序】微信小程序开发实践 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-07</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
15万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/diandianxiyu/article/details/53068012" target="_blank" title="【小程序】微信小程序开发实践">
|
|
|
|
|
<span class="desc oneline">帐号相关流程注册范围
|
|
|
|
|
企业
|
|
|
|
|
政府
|
|
|
|
|
媒体
|
|
|
|
|
其他组织换句话讲就是不让个人开发者注册。 :)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/diandianxiyu">来自: <span class="blog_title"> 小雨同学的技术博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/jhq0113/article/details/44226789,BlogCommendHotData_2,index_52"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/jhq0113/article/details/44226789" target="_blank" title="数据切分——原理">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
数据切分——原理 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">03-12</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3699</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/jhq0113/article/details/44226789" target="_blank" title="数据切分——原理">
|
|
|
|
|
<span class="desc oneline">声明:本系列教程参考资料《Mysql性能调优与架构设计》
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Why Mysql?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
大家可能怀疑,数据库有好多种,为什么选择Mysql作为数据切分的案例,为什么不选...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/jhq0113">来自: <span class="blog_title"> 姜海强</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/u011711997/article/details/52350907,BlogCommendHotData_3,index_53"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011711997/article/details/52350907" target="_blank" title="整数在计算机中的编码">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
整数在计算机中的编码 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">08-29</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
7338</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011711997/article/details/52350907" target="_blank" title="整数在计算机中的编码">
|
|
|
|
|
<span class="desc oneline">整数在计算机中是使用补码表示的,在讲解补码前,先看一下相关概念。
|
|
|
|
|
机器数与真值
|
|
|
|
|
数值在计算机中的表现形式叫做机器数,该数值就是机器数代表的真值。机器数是真值在计算机中的表现形式,真值是机器数的代表的数...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/u011711997">来自: <span class="blog_title"> gaoyi的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/hwhsong/article/details/78294965,BlogCommendHotData_4,index_54"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/hwhsong/article/details/78294965" target="_blank" title="EasyUI - 一个简单的后台管理系统入门实例">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
EasyUI - 一个简单的后台管理系统入门实例 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">10-20</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/hwhsong/article/details/78294965" target="_blank" title="EasyUI - 一个简单的后台管理系统入门实例">
|
|
|
|
|
<span class="desc oneline">采用EasyUI 1.4.x 版本,默认default风格,异步加载页面,多Tab页展示,使用JSON文件模拟从后台动态获取数据。...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/hwhsong">来自: <span class="blog_title"> 般若</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/qq_36892341/article/details/73918672,BlogCommendHotData_5,index_55"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq_36892341/article/details/73918672" target="_blank" title="linux上安装Docker(非常简单的安装方法)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
linux上安装Docker(非常简单的安装方法) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-29</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
14万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq_36892341/article/details/73918672" target="_blank" title="linux上安装Docker(非常简单的安装方法)">
|
|
|
|
|
<span class="desc oneline">最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗!
|
|
|
|
|
|
|
|
|
|
Docker的三大核心概念:镜像、容器、仓库
|
|
|
|
|
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
|
|
|
|
|
容器:类似一个轻量...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/qq_36892341">来自: <span class="blog_title"> 我走小路的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wyx100/article/details/73080969,BlogCommendHotData_6,index_56"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wyx100/article/details/73080969" target="_blank" title="人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-12</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wyx100/article/details/73080969" target="_blank" title="人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物">
|
|
|
|
|
<span class="desc oneline">人脸检测和识别- opencv3+python3完整实战项目源代码 识别视频《欢乐颂》中人物
|
|
|
|
|
python
|
|
|
|
|
opecv3人脸检测和识别
|
|
|
|
|
项目源代码
|
|
|
|
|
识别视频《欢乐颂》中人物...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wyx100">来自: <span class="blog_title"> wyx100的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/roguesir/article/details/77104246,BlogCommendHotData_7,index_57"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/roguesir/article/details/77104246" target="_blank" title="人脸检测工具face_recognition的安装与应用">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
人脸检测工具face_recognition的安装与应用 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">08-11</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/roguesir/article/details/77104246" target="_blank" title="人脸检测工具face_recognition的安装与应用">
|
|
|
|
|
<span class="desc oneline">人脸检测工具face_recognition的安装与应用</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/roguesir">来自: <span class="blog_title"> roguesir的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/bob601450868/article/details/52073805,BlogCommendHotData_8,index_58"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/bob601450868/article/details/52073805" target="_blank" title="Spark2学习1之基本环境搭建(win)问题">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
Spark2学习1之基本环境搭建(win)问题 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-30</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/bob601450868/article/details/52073805" target="_blank" title="Spark2学习1之基本环境搭建(win)问题">
|
|
|
|
|
<span class="desc oneline">更多代码请见:https://github.com/xubo245/SparkLearning 版本:Spark-2.0.01解释
|
|
|
|
|
从【2】中下载release版,idea打开mvn packag...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/bob601450868">来自: <span class="blog_title"> Keep Learning</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/u011860731/article/details/48733073,BlogCommendHotData_9,index_59"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011860731/article/details/48733073" target="_blank" title="ThreadLocal的设计理念与作用">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
ThreadLocal的设计理念与作用 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">09-25</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011860731/article/details/48733073" target="_blank" title="ThreadLocal的设计理念与作用">
|
|
|
|
|
<span class="desc oneline">Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的Thread...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/u011860731">来自: <span class="blog_title"> u011860731的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wuchengzeng/article/details/50037611,BlogCommendHotData_10,index_60"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wuchengzeng/article/details/50037611" target="_blank" title="jquery/js实现一个网页同时调用多个倒计时(最新的)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
jquery/js实现一个网页同时调用多个倒计时(最新的) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-25</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
25万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wuchengzeng/article/details/50037611" target="_blank" title="jquery/js实现一个网页同时调用多个倒计时(最新的)">
|
|
|
|
|
<span class="desc oneline">jquery/js实现一个网页同时调用多个倒计时(最新的)
|
|
|
|
|
|
|
|
|
|
最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//js
|
|
|
|
|
...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wuchengzeng">来自: <span class="blog_title"> websites</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/clover_hxy/article/details/50683832,BlogCommendHotData_11,index_61"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/clover_hxy/article/details/50683832" target="_blank" title="bsgs算法">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
bsgs算法 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">02-18</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/clover_hxy/article/details/50683832" target="_blank" title="bsgs算法">
|
|
|
|
|
<span class="desc oneline">bsgs算法
|
|
|
|
|
bsgs算法,又称大小步算法(某大神称拔山盖世算法)。
|
|
|
|
|
主要用来解决
|
|
|
|
|
A^x=B(mod C)(C是质数),都是整数,已知A、B、C求x。(poj 2417 Discrete Lo...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/clover_hxy">来自: <span class="blog_title"> clover_hxy的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/bea_tree/article/details/51519844,BlogCommendHotData_12,index_62"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/bea_tree/article/details/51519844" target="_blank" title="CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">05-28</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/bea_tree/article/details/51519844" target="_blank" title="CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结">
|
|
|
|
|
<span class="desc oneline">1 数据处理
|
|
|
|
|
|
|
|
|
|
首先注明我们要处理的数据是矩阵X,其shape为[N x D] (N =number of data, D =dimensionality).
|
|
|
|
|
|
|
|
|
|
1.1 Mean subtractio...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/bea_tree">来自: <span class="blog_title"> bea_tree的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/u011046042/article/details/47067037,BlogCommendHotData_13,index_63"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011046042/article/details/47067037" target="_blank" title="基于Linux的智能家居的设计(5)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
基于Linux的智能家居的设计(5) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">07-26</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/u011046042/article/details/47067037" target="_blank" title="基于Linux的智能家居的设计(5)">
|
|
|
|
|
<span class="desc oneline">4 软件设计
|
|
|
|
|
|
|
|
|
|
软件设计部分主要包括uboot移植、内核编译、系统移植、设备驱动编程、应用程序编程(QT编程、mysql数据库编程、控制系统编程)、各个模块的功能函数(部分是在windows下面的...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/u011046042">来自: <span class="blog_title"> 求是07的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/qq574857122/article/details/16361033,BlogCommendHotData_14,index_64"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq574857122/article/details/16361033" target="_blank" title="强连通分量及缩点tarjan算法解析">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
强连通分量及缩点tarjan算法解析 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-16</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
38万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/qq574857122/article/details/16361033" target="_blank" title="强连通分量及缩点tarjan算法解析">
|
|
|
|
|
<span class="desc oneline">强连通分量:
|
|
|
|
|
简言之 就是找环(每条边只走一次,两两可达)
|
|
|
|
|
孤立的一个点也是一个连通分量
|
|
|
|
|
|
|
|
|
|
使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)
|
|
|
|
|
|
|
|
|
|
定义:
|
|
|
|
|
int Ti...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/qq574857122">来自: <span class="blog_title"> 九野的博客</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/silentpebble/article/details/41279285,BlogCommendHotData_15,index_65"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/silentpebble/article/details/41279285" target="_blank" title="centos 查看命令源码">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
centos 查看命令源码 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">11-19</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
3万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/silentpebble/article/details/41279285" target="_blank" title="centos 查看命令源码">
|
|
|
|
|
<span class="desc oneline"># yum install yum-utils
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
设置源:
|
|
|
|
|
[base-src]
|
|
|
|
|
name=CentOS-5.4 - Base src -
|
|
|
|
|
baseurl=http://vault.ce...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/silentpebble">来自: <span class="blog_title"> linux/unix</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/wwj_748/article/details/30072379,BlogCommendHotData_16,index_66"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wwj_748/article/details/30072379" target="_blank" title="Cocos2d-x 2.2.3 使用NDK配置编译环境">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
Cocos2d-x 2.2.3 使用NDK配置编译环境 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-11</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/wwj_748/article/details/30072379" target="_blank" title="Cocos2d-x 2.2.3 使用NDK配置编译环境">
|
|
|
|
|
<span class="desc oneline">Cocos2d-x 2.2.3 使用NDK配置编译环境2014年6月11日 Cocos2d-x 3.0以下的开发环境的配置恐怕折磨了很多人,使用cygwin配置编译环境足够让初学者蛋疼一阵子了。本篇博...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/wwj_748">来自: <span class="blog_title"> 巫山老妖</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/gefangshuai/article/details/50328451,BlogCommendHotData_17,index_67"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gefangshuai/article/details/50328451" target="_blank" title="关于SpringBoot bean无法注入的问题(与文件包位置有关)">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
关于SpringBoot bean无法注入的问题(与文件包位置有关) </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">12-16</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
11万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/gefangshuai/article/details/50328451" target="_blank" title="关于SpringBoot bean无法注入的问题(与文件包位置有关)">
|
|
|
|
|
<span class="desc oneline">问题场景描述整个项目通过Maven构建,大致结构如下:
|
|
|
|
|
核心Spring框架一个module spring-boot-base
|
|
|
|
|
service和dao一个module server-core
|
|
|
|
|
提供系统...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/gefangshuai">来自: <span class="blog_title"> 开发随笔</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/lxhjh/article/details/51764604,BlogCommendHotData_18,index_68"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lxhjh/article/details/51764604" target="_blank" title="SpringBoot入门系列:第六篇 mybatis">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
SpringBoot入门系列:第六篇 mybatis </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">06-26</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
1万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/lxhjh/article/details/51764604" target="_blank" title="SpringBoot入门系列:第六篇 mybatis">
|
|
|
|
|
<span class="desc oneline">这一篇,代码折腾的时间较长,完成之后都是一些小细节,主要有三:
|
|
|
|
|
1、引入的依赖错误;
|
|
|
|
|
2、启动配置错误;
|
|
|
|
|
3、xml文件的mapper命名空间错误。
|
|
|
|
|
一、完整的pom.xml
|
|
|
|
|
|
|
|
|
|
...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/lxhjh">来自: <span class="blog_title"> lxhjh的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/VBcom/article/details/7245186,BlogCommendHotData_19,index_69"}" data-flg="true">
|
|
|
|
|
<div class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/VBcom/article/details/7245186" target="_blank" title="DirectX修复工具增强版">
|
|
|
|
|
<h4 class="text-truncate oneline" style="width: 552px;">
|
|
|
|
|
DirectX修复工具增强版 </h4>
|
|
|
|
|
<div class="info-box d-flex align-content-center">
|
|
|
|
|
<p class="date-and-readNum oneline">
|
|
|
|
|
<span class="date hover-show">02-09</span>
|
|
|
|
|
<span class="read-num hover-hide">
|
|
|
|
|
阅读数
|
|
|
|
|
184万+</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
<p class="content" style="width: 712px;">
|
|
|
|
|
<a href="https://blog.csdn.net/VBcom/article/details/7245186" target="_blank" title="DirectX修复工具增强版">
|
|
|
|
|
<span class="desc oneline">最后更新:2018-12-20
|
|
|
|
|
|
|
|
|
|
DirectX修复工具最新版:DirectX Repair V3.8 增强版 NEW!
|
|
|
|
|
|
|
|
|
|
版本号:V3.8.0.11638
|
|
|
|
|
|
|
|
|
|
大小: 107MB/7z格式压缩,18...</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="blog_title_box oneline ">
|
|
|
|
|
<span class="type-show type-show-blog type-show-after">博文</span>
|
|
|
|
|
<a target="_blank" href="https://blog.csdn.net/VBcom">来自: <span class="blog_title"> VBcom的专栏</span></a>
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-item-box type_hot_word">
|
|
|
|
|
<div class="content clearfix" style="width: 712px;">
|
|
|
|
|
<div class="word float-left">
|
|
|
|
|
<span>
|
|
|
|
|
<a href="https://edu.csdn.net/courses/o5329_s5330_k" target="_blank">
|
|
|
|
|
机器学习 </a></span>
|
|
|
|
|
<span>
|
|
|
|
|
<a href="https://edu.csdn.net/courses/o5329_s5330_k" target="_blank">
|
|
|
|
|
机器学习课程 </a></span>
|
|
|
|
|
<span>
|
|
|
|
|
<a href="https://edu.csdn.net/courses/o5329_s5330_k" target="_blank">
|
|
|
|
|
机器学习教程 </a></span>
|
|
|
|
|
<span>
|
|
|
|
|
<a href="https://edu.csdn.net/combos/o5329_s5331_l0_t" target="_blank">
|
|
|
|
|
深度学习视频教程 </a></span>
|
|
|
|
|
<span>
|
|
|
|
|
<a href="https://edu.csdn.net/combos/o5329_s5331_l0_t" target="_blank">
|
|
|
|
|
深度学习学习 </a></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="recommend-loading-box">
|
|
|
|
|
<img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/feedLoading.gif">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="recommend-end-box">
|
|
|
|
|
<p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<aside>
|
|
|
|
|
<div id="asideProfile" class="aside-box">
|
|
|
|
|
<!-- <h3 class="aside-title">个人资料</h3> -->
|
|
|
|
|
<div class="profile-intro d-flex">
|
|
|
|
|
<div class="avatar-box d-flex justify-content-center flex-column">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158">
|
|
|
|
|
<img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_wongainia158158.gif" class="avatar_pic">
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div class="user-info d-flex justify-content-center flex-column">
|
|
|
|
|
<p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158" target="_blank" class="" id="uid">wongainia158158</a>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="opt-box d-flex justify-content-center flex-column">
|
|
|
|
|
<span class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
|
|
|
|
|
<a class="btn btn-sm btn-red-hollow attention" id="btnAttent" target="_blank">关注</a>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-info d-flex item-tiling">
|
|
|
|
|
<dl class="text-center" title="24">
|
|
|
|
|
<dt><a href="https://blog.csdn.net/wongainia158158?t=1">原创</a></dt>
|
|
|
|
|
<dd><a href="https://blog.csdn.net/wongainia158158?t=1"><span class="count">24</span></a></dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl class="text-center" id="fanBox" title="3">
|
|
|
|
|
<dt>粉丝</dt>
|
|
|
|
|
<dd><span class="count" id="fan">3</span></dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl class="text-center" title="0">
|
|
|
|
|
<dt>喜欢</dt>
|
|
|
|
|
<dd><span class="count">0</span></dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl class="text-center" title="0">
|
|
|
|
|
<dt>评论</dt>
|
|
|
|
|
<dd><span class="count">0</span></dd>
|
|
|
|
|
</dl>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="grade-box clearfix">
|
|
|
|
|
<dl>
|
|
|
|
|
<dt>等级:</dt>
|
|
|
|
|
<dd>
|
|
|
|
|
<a href="https://blog.csdn.net/home/help.html#level" title="2级,点击查看等级说明" target="_blank">
|
|
|
|
|
<svg class="icon icon-level" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-bloglevel-2"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
</a>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt>访问:</dt>
|
|
|
|
|
<dd title="16498">
|
|
|
|
|
1万+ </dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt>积分:</dt>
|
|
|
|
|
<dd title="430">
|
|
|
|
|
430 </dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl title="145284">
|
|
|
|
|
<dt>排名:</dt>
|
|
|
|
|
<dd>14万+</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="badge-box d-flex">
|
|
|
|
|
<span>勋章:</span>
|
|
|
|
|
<div class="icon-badge" title="持之以恒">
|
|
|
|
|
<div class="mouse-box">
|
|
|
|
|
<svg class="icon" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-m-lasting"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<div class="icon-arrow"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="grade-detail-box">
|
|
|
|
|
<div class="pos-box">
|
|
|
|
|
<div class="left-box d-flex justify-content-center align-items-center flex-column">
|
|
|
|
|
<svg class="icon" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-m-lasting"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<p>持之以恒</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right-box d-flex justify-content-center align-items-center">
|
|
|
|
|
授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<script>
|
|
|
|
|
(function ($) {
|
|
|
|
|
setTimeout(function(){
|
|
|
|
|
$('div.icon-badge.show-moment').removeClass('show-moment');
|
|
|
|
|
}, 5000);
|
|
|
|
|
})(window.jQuery)
|
|
|
|
|
</script>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;">
|
|
|
|
|
<div class="aside-content text-center" id="cpro_u2734133">
|
|
|
|
|
<div id="kp_box_56" data-pid="56" data-track-click="{"mod":"kp_popu_56-76","con":",,"}"><script type="text/javascript">
|
|
|
|
|
(function() {
|
|
|
|
|
var s = "_" + Math.random().toString(36).slice(2);
|
|
|
|
|
document.write('<div style="" id="' + s + '"></div>');
|
|
|
|
|
(window.slotbydup = window.slotbydup || []).push({
|
|
|
|
|
id: "u3032528",
|
|
|
|
|
container: s
|
|
|
|
|
});
|
|
|
|
|
})();
|
|
|
|
|
</script><div style="" id="_o0hk5b4z73i"><iframe id="iframeu3032528_0" name="iframeu3032528_0" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/qclm.htm" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" height="250" frameborder="0" align="center,center"></iframe></div>
|
|
|
|
|
<!-- 多条广告如下脚本只需引入一次 -->
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/c.js" async="async" defer="defer"></script></div> </div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="asideNewArticle" class="aside-box">
|
|
|
|
|
<h3 class="aside-title">最新文章</h3>
|
|
|
|
|
<div class="aside-content">
|
|
|
|
|
<ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
|
|
|
|
|
<li class="clearfix">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/85222553" target="_blank">React Native性能优化总结</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="clearfix">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/49867383" target="_blank">Android 侧滑菜单</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="clearfix">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/49801879" target="_blank">xmpp学习</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="clearfix">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/49801665" target="_blank">xmpp</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="clearfix">
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/49800473" target="_blank">解析Lua中关于Metatable学习笔记</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="asideArchive" class="aside-box flexible-box">
|
|
|
|
|
<h3 class="aside-title">归档</h3>
|
|
|
|
|
<div class="aside-content">
|
|
|
|
|
<ul class="archive-list">
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2018/12">
|
|
|
|
|
2018年12月 <span class="count float-right">1篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/11">
|
|
|
|
|
2015年11月 <span class="count float-right">4篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/10">
|
|
|
|
|
2015年10月 <span class="count float-right">2篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/09">
|
|
|
|
|
2015年9月 <span class="count float-right">18篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/08">
|
|
|
|
|
2015年8月 <span class="count float-right">1篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/07">
|
|
|
|
|
2015年7月 <span class="count float-right">10篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/06">
|
|
|
|
|
2015年6月 <span class="count float-right">9篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!--归档统计-->
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/month/2015/05">
|
|
|
|
|
2015年5月 <span class="count float-right">2篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<p class="text-center">
|
|
|
|
|
<a class="btn btn-link-blue flexible-btn" data-fbox="aside-archive">展开</a>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="asideHotArticle" class="aside-box">
|
|
|
|
|
<h3 class="aside-title">热门文章</h3>
|
|
|
|
|
<div class="aside-content">
|
|
|
|
|
<ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_521">
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48375201" target="_blank">android抓包工具fiddler使用介绍 抓取 手机APP 中资源。</a>
|
|
|
|
|
<p class="read">阅读数 <span>799</span></p>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/46332121" target="_blank">Android 轻松实现仿QQ空间下拉刷新</a>
|
|
|
|
|
<p class="read">阅读数 <span>717</span></p>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48626907" target="_blank">LibRTMP源代码分析6</a>
|
|
|
|
|
<p class="read">阅读数 <span>641</span></p>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48625871" target="_blank">LibRTMP源代码分析5:建立网络连接</a>
|
|
|
|
|
<p class="read">阅读数 <span>632</span></p>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="https://blog.csdn.net/wongainia158158/article/details/48345201" target="_blank">日期滚动栏的实现</a>
|
|
|
|
|
<p class="read">阅读数 <span>510</span></p>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="asideFooter">
|
|
|
|
|
|
|
|
|
|
<div class="aside-box">
|
|
|
|
|
<div id="kp_box_57" data-pid="57" data-track-view="{"mod":"kp_popu_57-77","con":",,"}" data-track-click="{"mod":"kp_popu_57-77","con":",,"}"><script type="text/javascript">
|
|
|
|
|
(function() {
|
|
|
|
|
var s = "_" + Math.random().toString(36).slice(2);
|
|
|
|
|
document.write('<div style="" id="' + s + '"></div>');
|
|
|
|
|
(window.slotbydup = window.slotbydup || []).push({
|
|
|
|
|
id: "u3163270",
|
|
|
|
|
container: s
|
|
|
|
|
});
|
|
|
|
|
})();
|
|
|
|
|
</script><div style="" id="_npjqf07aabs"><iframe id="iframeu3163270_0" name="iframeu3163270_0" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/qclm_002.htm" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" height="250" frameborder="0" align="center,center"></iframe></div>
|
|
|
|
|
<!-- 多条广告如下脚本只需引入一次 -->
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/c.js" async="async" defer="defer"></script></div> </div>
|
|
|
|
|
<div class="aside-box">
|
|
|
|
|
<div class="persion_article">
|
|
|
|
|
<div class="right_box footer_box csdn-tracking-statistics" data-mod="popu_475" data-dsm="post"> <div class="contact-box" id="footer-contact-box"><div class="img-box"><a href="https://bbs.csdn.net/forums/Service?utm_source=csdn_footer" target="_blank"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/csdn_cs_qr.png" alt="微信客服" style="padding: 6px;"></a><p class="app-text">微信客服</p></div><div class="img-box fr"><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" target="_blank"><img style="padding:6px;" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/csdn-kf.png" alt="QQ客服"></a><p class="app-text">QQ客服</p></div></div> <div class="contact-info"> <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.167 2h11.666C14.478 2 15 2.576 15 3.286v9.428c0 .71-.522 1.286-1.167 1.286H2.167C1.522 14 1 13.424 1 12.714V3.286C1 2.576 1.522 2 2.167 2zm-.164 3v1L8 10l6-4V5L8 9 2.003 5z" fill="#5c5c5c" fill-rule="evenodd"></path></svg><a href="mailto:webmaster@csdn.net" target="_blank"><span class="txt">kefu@csdn.net</span></a> <em class="width126"><svg t="1538013544186" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23556" xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M902.60033922 650.96445566c-18.0718526-100.84369837-94.08399771-166.87723736-94.08399771-166.87723737 10.87530062-91.53186599-28.94715402-107.78733693-28.94715401-107.78733691C771.20003413 93.08221664 517.34798062 98.02553561 511.98620441 98.16348824 506.65661791 98.02553561 252.75857992 93.08221664 244.43541101 376.29988138c0 0-39.79946279 16.25547094-28.947154 107.78733691 0 0-75.98915247 66.03353901-94.0839977 166.87723737 0 0-9.63372291 170.35365477 86.84146124 20.85850523 0 0 21.70461757 56.79068296 61.50407954 107.78733692 0 0-71.1607951 23.19910867-65.11385185 83.46161052 0 0-2.43717093 67.16015592 151.93232126 62.56172014 0 0 108.5460788-8.0932473 141.10300432-52.14626271H526.33792324c32.57991817 44.05301539 141.10300431 52.1462627 141.10300431 52.14626271 154.3235077 4.59843579 151.95071457-62.56172013 151.95071457-62.56172014 6.00095876-60.26250183-65.11385185-83.46161053-65.11385185-83.46161052 39.77647014-50.99665395 61.4810877-107.78733693 61.4810877-107.78733692 96.45219231 149.49514952 86.84146124-20.85850523 86.84146125-20.85850523" p-id="23557" fill="#5c5c5c"></path></svg><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" class="qqcustomer_s" target="_blank"><span class="txt">QQ客服</span></a></em></p> <p><em class="width126"><svg t="1538012951761" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23083" xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M466.4934485 880.02006511C264.6019863 859.18313878 107.13744214 688.54706608 107.13744214 481.14947309 107.13744214 259.68965394 286.68049114 80.14660493 508.14031029 80.14660493s401.00286817 179.54304901 401.00286814 401.00286816v1.67343191C908.30646249 737.58941724 715.26799489 943.85339507 477.28978337 943.85339507c-31.71423369 0-62.61874229-3.67075386-92.38963569-10.60739903 30.09478346-11.01226158 56.84270313-29.63593923 81.5933008-53.22593095z m-205.13036267-398.87059202a246.77722444 246.77722444 0 0 0 493.5544489 0 30.85052691 30.85052691 0 0 0-61.70105383 0 185.07617062 185.07617062 0 0 1-370.15234125 0 30.85052691 30.85052691 0 0 0-61.70105382 0z" p-id="23084" fill="#5c5c5c"></path></svg><a href="http://bbs.csdn.net/forums/Service" target="_blank"><span class="txt">客服论坛</span></a></em> <svg t="1538013874294" width="17" height="17" s
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</aside>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/publib_footer-1.js" data-isfootertrack="false" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/pub_footer_1.css">
|
|
|
|
|
<script>
|
|
|
|
|
$("a.flexible-btn").click(function(){
|
|
|
|
|
$(this).parents('div.aside-box').removeClass('flexible-box');
|
|
|
|
|
$(this).remove();
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="mask-dark"></div>
|
|
|
|
|
<div class="pulllog-box" style="display: block;">
|
|
|
|
|
<div class="pulllog clearfix">
|
|
|
|
|
<span class="text float-left">
|
|
|
|
|
<div id="dmp_ad_69"><div id="kp_box_69" data-pid="69" data-track-click="{"mod":"kp_popu_69-796","con":",,"}"><div style="float:left;margin-right:5px;border:1px solid #f13d3d;padding:2px 5px 0px 5px;">
|
|
|
|
|
<a href="https://edu.csdn.net/topic/python115?utm_source=ditong" target="_blank" style="color:#f13d3d;font-weight:bold;text-decoration:none;font-size:15px;">Python怎么学</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div style="float:left;margin-right:5px;border:1px solid #00BFFF;padding:2px 5px 0px 5px;background:#FFF0F5;">
|
|
|
|
|
<a href="https://edu.csdn.net/topic/ai30?utm_source=ditong" target="_blank" style="color:#00BFFF;font-weight:bold;text-decoration:none;font-size:15px;">转型AI人工智能指南</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div style="float:left;margin-right:5px;border:1px solid #f13d3d;padding:2px 5px 0px 5px;">
|
|
|
|
|
<a href="https://edu.csdn.net/topic/ai30?utm_source=ditong" target="_blank" style="color:#f13d3d;font-weight:bold;text-decoration:none;font-size:15px;">人工智能薪资趋势</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div style="float:left;margin-right:5px;border:1px solid #00BFFF;padding:2px 5px 0px 5px;background:#FFF0F5;">
|
|
|
|
|
<a href="https://gitbook.cn/gitchat/column/5c1a1c431e59245d4d2aede1?utm_source=wzl190225" target="_blank" style="color:#00BFFF;font-weight:bold;text-decoration:none;font-size:15px;">IT 巨头的敏捷之路</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div style="float:left;">
|
|
|
|
|
<div id="_91dg87uhy4d"><iframe scrolling="no" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/s.htm" width="286" height="36" frameborder="0"></iframe></div><script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/ndr3h.js"></script>
|
|
|
|
|
<!-- 长文字链
|
|
|
|
|
<script type="text/javascript" src="//rabc1.iteye.com/common/5klj5.js?kfxbghx=bx"></script>
|
|
|
|
|
-->
|
|
|
|
|
</div></div></div> </span>
|
|
|
|
|
<div class="pulllog-btn float-right clearfix">
|
|
|
|
|
<div class="float-left csdn-tracking-statistics tracking-click" data-mod="popu_557">
|
|
|
|
|
<a class="pulllog-login" target="_blank">登录</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pulllog-sigin float-left csdn-tracking-statistics tracking-click" data-mod="popu_558">
|
|
|
|
|
<a href="https://passport.csdn.net/account/mobileregister" target="_blank">注册</a>
|
|
|
|
|
</div>
|
|
|
|
|
<button class="btn-close">
|
|
|
|
|
<svg class="icon" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-times"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="loginWrap" style="display:none"></div>
|
|
|
|
|
<div class="tool-box" style="right: 23.3833px; display: block; top: 48px;">
|
|
|
|
|
<ul class="meau-list">
|
|
|
|
|
<li class="btn-like-box ">
|
|
|
|
|
<button class=" low-height hover-box btn-like " title="点赞">
|
|
|
|
|
<svg class="icon active hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-thumbsup-ok"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<svg class="icon no-active hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-thumbsup"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text-box text">
|
|
|
|
|
<span class="no-active">点赞</span>
|
|
|
|
|
<span class="active">取消点赞</span>
|
|
|
|
|
</span>
|
|
|
|
|
<p>0</p>
|
|
|
|
|
</button>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="">
|
|
|
|
|
<a class="btn-comments low-height hover-box" title="写评论" href="#commentBox">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-comments"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text">评论</span>
|
|
|
|
|
<p class="">
|
|
|
|
|
</p>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<button class="btn-bookmark low-height hover-box" title="收藏">
|
|
|
|
|
<svg class="icon active hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-bookmark-ok"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<svg class="icon no-active hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-bookmark"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text">收藏</span>
|
|
|
|
|
<!-- <span class="hover-show text-box text">
|
|
|
|
|
<span class="no-active">收藏</span>
|
|
|
|
|
<span class="active">取消收藏</span>
|
|
|
|
|
</span> -->
|
|
|
|
|
</button>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="bdsharebuttonbox bdshare-button-style0-16" data-bd-bind="1551757402021">
|
|
|
|
|
<div class="weixin-qr btn-comments low-height hover-box">
|
|
|
|
|
<a href="#" class="bds_weixin clear-share-style" data-cmd="weixin" title="手机看"></a>
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-usephone"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text text3">
|
|
|
|
|
手机看
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="widescreen-hide">
|
|
|
|
|
<a class="btn-comments low-height hover-box" href="https://blog.csdn.net/wongainia158158/article/details/48627003" title="LibRTMP源代码分析8:发送消息">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-chevronleft"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text text3">上一篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="widescreen-hide">
|
|
|
|
|
<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/wongainia158158/article/details/48627119" title="LibRTMP源代码分析10:处理消息">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-chevronright"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text text3">下一篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<!-- 宽屏更多按钮 -->
|
|
|
|
|
<li class="widescreen-more">
|
|
|
|
|
<a class="btn-comments chat-ask-button low-height hover-box" title="快问" href="#chatqa">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-more"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text">更多</span>
|
|
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="widescreen-more-box">
|
|
|
|
|
<li class="widescreen-more">
|
|
|
|
|
<a class="btn-comments low-height hover-box" href="https://blog.csdn.net/wongainia158158/article/details/48627003" title="LibRTMP源代码分析8:发送消息">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-chevronleft"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text text3">上一篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="widescreen-more">
|
|
|
|
|
<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/wongainia158158/article/details/48627119" title="LibRTMP源代码分析10:处理消息">
|
|
|
|
|
<svg class="icon hover-hide" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-chevronright"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
<span class="hover-show text text3">下一篇</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'https://csdnimg.cn/static/api/js/share.js?v=89860594'];</script>
|
|
|
|
|
<script>
|
|
|
|
|
var recommendCount = 70;
|
|
|
|
|
recommendCount = recommendCount > 1 ? (recommendCount + (recommendCount>6 ? 2 : 1)) : recommendCount;
|
|
|
|
|
var articleTit = articleTitles;
|
|
|
|
|
var ChannelId = 0;
|
|
|
|
|
var articleId = "48627039";
|
|
|
|
|
var commentscount = 0;
|
|
|
|
|
var islock = false;
|
|
|
|
|
var curentUrl = "https://blog.csdn.net/wongainia158158/article/details/48627039";
|
|
|
|
|
var myUrl = "https://my.csdn.net/";
|
|
|
|
|
//1禁止评论,2正常
|
|
|
|
|
var commentAuth = 2;
|
|
|
|
|
//百度搜索
|
|
|
|
|
var baiduKey = "LibRTMP源代码分析9:接收消息 - wongainia158158的博客";
|
|
|
|
|
var needInsertBaidu = true;
|
|
|
|
|
// 代码段样式
|
|
|
|
|
var codeStyle = '';
|
|
|
|
|
var highlight = ["librtmp","\u6e90\u4ee3\u7801\u5206\u6790","\u63a5\u6536","\u6d88\u606f"];//高亮数组
|
|
|
|
|
// 相关推荐博主数据
|
|
|
|
|
var RecommendBlogExpertList = [{"user_name":"byxdaz","nick_name":"byxdaz","avatar":"https:\/\/avatar.csdn.net\/5\/7\/D\/3_byxdaz.jpg","is_expert":true,"article_count":949,"rank":"86"},{"user_name":"wongainia158158","nick_name":"wongainia158158","avatar":"https:\/\/avatar.csdn.net\/8\/D\/C\/3_wongainia158158.jpg","is_expert":false,"article_count":47,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"leixiaohua1020","nick_name":"\u96f7\u9704\u9a85","avatar":"https:\/\/avatar.csdn.net\/A\/7\/6\/3_leixiaohua1020.jpg","is_expert":true,"article_count":558,"rank":"50"},{"user_name":"qq_29214249","nick_name":"AI\u6280\u672f","avatar":"https:\/\/avatar.csdn.net\/0\/8\/B\/3_qq_29214249.jpg","is_expert":false,"article_count":91,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"chinabinlang","nick_name":"chinabinlang","avatar":"https:\/\/avatar.csdn.net\/D\/B\/0\/3_chinabinlang.jpg","is_expert":false,"article_count":695,"rank":"539"},{"user_name":"gengxt2003","nick_name":"gengxt2003","avatar":"https:\/\/avatar.csdn.net\/6\/A\/B\/3_gengxt2003.jpg","is_expert":false,"article_count":228,"rank":"4000+"},{"user_name":"huangmindong","nick_name":"huangmindong","avatar":"https:\/\/avatar.csdn.net\/D\/C\/F\/3_huangmindong.jpg","is_expert":false,"article_count":298,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"xiapang009","nick_name":"\u5c0f\u5b66\u751f009","avatar":"https:\/\/avatar.csdn.net\/C\/7\/3\/3_xiapang009.jpg","is_expert":false,"article_count":55,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"wishfly","nick_name":"Tianyu-liu","avatar":"https:\/\/avatar.csdn.net\/4\/E\/7\/3_wishfly.jpg","is_expert":false,"article_count":2989,"rank":"75"},{"user_name":"tongjing524","nick_name":"tongjing524","avatar":"https:\/\/avatar.csdn.net\/6\/A\/0\/3_tongjing524.jpg","is_expert":false,"article_count":31,"rank":"\u5343\u91cc\u4e4b\u5916"}];
|
|
|
|
|
var articleType = 1;
|
|
|
|
|
var CopyrightContent = '';
|
|
|
|
|
</script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/sandalstrap.js"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/paging.js"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/goTop-v1.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
GoTop({
|
|
|
|
|
right: 8,
|
|
|
|
|
hasReport: true,
|
|
|
|
|
reportFun: function() {
|
|
|
|
|
showReport(false,articleTit);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script><div class="meau-gotop-box" style="right: 8px; bottom: 40px; z-index: 110; left: 1137.85px;"><a href="https://mall.csdn.net/vip_code" id="adContent" class="btn-meau"> </a> <a href="#" id="backtop" class="btn-meau" title="返回顶部"> <svg xmlns="http://www.w3.org/2000/svg" width="19" height="12"> <path d="M9.314 0l9.313 9.314-2.12 2.121-7.193-7.192-7.193 7.192L0 9.314z" fill="#FFF" fill-rule="evenodd"></path> </svg> </a> <a href="#" id="reportContent" class="btn-meau" title="举报"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="22"><path d="M0 13.028V3.365L9 0l9 3.365v9.663C18 17.983 13.97 22 9 22s-9-4.017-9-8.972zm2-8.282v8.282c0 3.854 3.134 6.978 7 6.978s7-3.124 7-6.978V4.746L9 2.13 2 4.746zm6 10.276h2v1.993H8v-1.993zm0-8.973h2v6.979H8V6.049z" fill="#FFF" fill-rule="nonzero"></path></svg> </a></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="fourth_column">
|
|
|
|
|
<div class="title-box">
|
|
|
|
|
<b class="title">猿学习</b>
|
|
|
|
|
<span class="fourth_column_close">
|
|
|
|
|
<svg class="icon" aria-hidden="true">
|
|
|
|
|
<use xlink:href="#csdnc-times"></use>
|
|
|
|
|
</svg>
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<ul class="">
|
|
|
|
|
<li><div id="kp_box_456" data-pid="456" data-track-click="{"mod":"kp_popu_456-802","con":",,"}"><a href="https://edu.csdn.net/topic/python115?utm_source=blogright" target="_blank"> <div class="blogkp1"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201901081438577084.png" width="100" height="100"><h6>程序员2019年学Python</h6></div></a></div></li> <li><div id="kp_box_457" data-pid="457" data-track-click="{"mod":"kp_popu_457-681","con":",,"}"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201901081453403307.jpg" width="100" height="100"></div></li> <li><div id="kp_box_458" data-pid="458" data-track-click="{"mod":"kp_popu_458-640","con":",,"}"><a href="https://gitchat.csdn.net/column/5a7d1a13a7f22b3dffca7e49?utm_source=csdn100" target="_blank"><div class="blogkp3"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201811091452349556.png" width="100" height="100"><h6>Python 爬虫和数据分析实战</h6><span style="position:absolute;right:0;bottom:0;background:url(https://img-ads.csdn.net/2016/201608021757063065.png) no-repeat;width:33px;height:18px;display:block;z-index: 9999;"></span></div></a></div></li> <li><div id="kp_box_459" data-pid="459" data-track-click="{"mod":"kp_popu_459-684","con":",,"}"><img src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201811231419286183.jpg" width="100" height="100"></div></li> </ul>
|
|
|
|
|
</div>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
$('.fourth_column_close').click(function(){
|
|
|
|
|
$('.fourth_column').remove();
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
<!-- 右侧第四栏end -->
|
|
|
|
|
<!-- 高亮未与 markdown兼容 -->
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart.css">
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart.js"></script>
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/widget2chart.js"></script>
|
|
|
|
|
<link rel="stylesheet" href="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/atom-one-light.css">
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/pc_wap_common-98040b5dc6.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
$(function(){
|
|
|
|
|
var allEscRegex = /&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,
|
|
|
|
|
namedEntities = {
|
|
|
|
|
lt: '<',
|
|
|
|
|
gt: '>',
|
|
|
|
|
amp: '&',
|
|
|
|
|
quot: '"',
|
|
|
|
|
nbsp: '\u00a0',
|
|
|
|
|
shy: '\u00ad'
|
|
|
|
|
}
|
|
|
|
|
var allEscDecode = function( match, code ) {
|
|
|
|
|
return namedEntities[ code ];
|
|
|
|
|
};
|
|
|
|
|
htmlDecodeAttr = function( text ) {
|
|
|
|
|
return text.replace( allEscRegex, allEscDecode );
|
|
|
|
|
}
|
|
|
|
|
hljs.initHighlighting();
|
|
|
|
|
hljs.initCopyButtonOnLoad();
|
|
|
|
|
hljs.initLineNumbersOnLoad();
|
|
|
|
|
if($('pre .language-plain').length>0){
|
|
|
|
|
$('pre .language-plain').each(function(i,e){
|
|
|
|
|
var highlightRe = hljs.highlightAuto(htmlDecodeAttr(e.innerHTML))
|
|
|
|
|
e.innerHTML = highlightRe.value;
|
|
|
|
|
e.className = 'language-'+highlightRe.language;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/a"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/common-eb024b1a9c.js"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/detail-001720469e.js"></script>
|
|
|
|
|
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/baidu-search.js" type="text/javascript"></script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/skin3-template-fc7383b956.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <script type="text/javascript" src="//g.csdnimg.cn/check-adb/1.0.2/check-adb.js"></script> -->
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/MathJax.js"></script>
|
|
|
|
|
<script type="text/x-mathjax-config;executed=true">
|
|
|
|
|
MathJax.Hub.Config({
|
|
|
|
|
"HTML-CSS": {
|
|
|
|
|
linebreaks: { automatic: true, width: "94%container" },
|
|
|
|
|
imageFont: null
|
|
|
|
|
},
|
|
|
|
|
tex2jax: {
|
|
|
|
|
preview: "none"
|
|
|
|
|
},
|
|
|
|
|
mml2jax: {
|
|
|
|
|
preview: 'none'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
window.baidu_blueword ={
|
|
|
|
|
di:'24004469_oem_dg',
|
|
|
|
|
id:['content_views'],// 需要飘蓝区域:id要求以数组或,分隔的字符串形式传入
|
|
|
|
|
blueclass:['baidu_pl'],// 需要飘蓝区域:class要求以数组或,分隔的字符串形式传入, 传入值会覆盖默认值
|
|
|
|
|
user:'',
|
|
|
|
|
isMobile:false,
|
|
|
|
|
title: document.title,
|
|
|
|
|
page_url: location.href,
|
|
|
|
|
ignore:'baidu-blue-word-no',// 需要忽略掉的区域1
|
|
|
|
|
frequency:1,// 词频1
|
|
|
|
|
maxword:3// 最大接受飘词个数
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<script src="LibRTMP%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%909%EF%BC%9A%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%20-%20wongainia158158%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/bword.js"></script>
|
|
|
|
|
|
|
|
|
|
<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" id="focus_retriever" readonly="true"></div><div id="pointDivs"><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div></div><div class="report-box"> <div class="pos-box"> <h2 class="title">不良信息举报</h2> <a class="btn-close"> <svg class="icon" aria-hidden="true"> <use xlink:href="#csdnc-times"></use> </svg> </a> <form id="frmReport"> <div class="form-box"> <div class="txt-row-box"> <label class="title" id="reptTit">举报内容:</label> <p class="rpt-title text-truncate">LibRTMP源代码分析9:接收消息 - wongainia158158的博客</p> </div> <div class="txt-row-box"> <label class="title">举报原因:</label> <div class="rdo-box"> <label><input type="radio" class="rdo-chk report-type" id="report_sex" name="report_type" value="1">色情</label> <label><input type="radio" class="rdo-chk report-type" id="report_Politics" name="report_type" value="2">政治</label> <label><input type="radio" class="rdo-chk report-type" id="report_copy" name="report_type" value="3">抄袭</label> <label><input type="radio" class="rdo-chk report-type" id="report_ad" name="report_type" value="4">广告</label> <label><input type="radio" class="rdo-chk report-type" id="report_want" name="report_type" value="5">侵权</label> <label><input type="radio" class="rdo-chk report-type" id="report_call" name="report_type" value="6">骂人</label> <label><input type="radio" class="rdo-chk report-type" id="report_other" name="report_type" value="7">其他</label> </div> </div> <div class="txt-row-box" id="rptOriginalurl"> <label class="title">原文地址:</label> <div class="txt-box"> <input class="ipt" type="text" id="originalurl" name="originalurl"> </div> </div> <div class="txt-row-box"> <label class="title">原因补充:</label> <div class="txt-box"> <textarea class="ipt ipt-textarea" name="description" maxlength="30"></textarea> <p class="remark">最多只允许输入30个字</p> </div> </div> </div> <div class="opt-box text-right"> <input type="reset" class="btn btn-link-gray btn-close" value="取消"> <input type="submit" class="btn btn-red btn-submit" value="提交"> </div> </form> </div> </div><iframe class="bdSug_sd" style="display: none; position: absolute; border-width: 0px;"></iframe><div id="bdSug_1551757401805" class="bdSug_wpr" style="display: none;"></div></body><!-- 右侧第四栏 --></html>
|