jquery JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦)

jquery JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦) 缺陷就是 因为采用的是 MPEG1解码器 所以清晰度有点低 做直播可以考虑下 如果要清晰度高点 可以采取序列帧播放 前面图片加载好 后面边播放边加载 具体看http://newmiracle.cn/?p=2860

<!DOCTYPE html>
<html>

<head>
    <title>JSMpeg Stream Client</title>
    <style type="text/css">
    html,
    body {
        background-color: #111;
        text-align: center;
    }
    </style>
</head>

<body>
    <canvas id="video-canvas"></canvas>
    <script src="/moban/js/jquery.min.js"></script>
    <script type="text/javascript" src="/jsmpeg/jsmpeg.min.js"></script>
    <script type="text/javascript">
   $(function() {
    	var canvas = document.getElementById('video-canvas');
        var player = new JSMpeg.Player('/\shipinmoban/mp4/out.ts', { canvas: canvas});
        player.play();
        var playvideotimer=setInterval(function(){
            var currentTime=player.currentTime;
            console.log(currentTime);
            if(currentTime>=3){
                clearInterval(playvideotimer)
                player.destroy();
                $('canvas').remove();
            }
        },60)
    })
    </script>
</body>

</html>


ps:ffmpeg -i in.mp4 -f mpegts -codec:v mpeg1video -codec:a mp2 -b 0 out.ts  导出来的720*480尺寸不对也没关系
  转化成ts  ts不支持透明底 如果透明底只能用gif或者png序列来做了
具体使用说明 https://github.com/phoboslab/jsmpeg 在低端安卓手机上测试过 性能还不错

ps:
1 可能右边会有白边需要设置width:103%
2 play前需要3秒钟 不然会有黑屏

linux写系统服务的方法

linux写系统服务的方法

2.1 首先编写demo程序:hello.c

#include <stdio.h>  
# chkconfig: 2345 10 90 
main()  
{  
    FILE *fp;  
    char a[] = "Hello world!";   
    fp=fopen("hhh.txt","a+");   
    fputs(a,fp);  
    return 0;  
}  

2.2 编译hello.c

gcc -g hello.c -o hello  

2.3 在/etc/init.d目录下添加脚本test

#!/bin/bash  
  
start(){  
    echo "------------------test----------------"  
    cd /home/xxx   //hello的所在文件夹的绝对路径  
    ./hello  
}  
  
case $1 in  
start):  
start  
;;  
stop):  
echo "-----------------stop------------------"  
;;  
esac  
  
exit 0 

2.4 设置权限

chmod 777 /etc/init.d/test  

2.5 利用service启动hello

service test start  

2.6 设置开机自动启动

chkconfig --add test   

2.7重启服务器

shutdown -r now

css3 preserve-3d 的理解

css3 preserve-3d 的理解

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>转换模块-正方体</title>
    <style>
    * {
        margin: 0;
        padding: 0;
        /*去除默认边距*/
    }

    body,
    html {
        width: 100%;
        height: 100%;
    }

    .wrap3d {
        width: 100%;
        height: 100%;
        position: relative;
        /*设置摄像机离目标物体距离 让3D效果看起来更逼真*/
        transform: perspective(400px);
        -webkit-transform: perspective(400px);
        /*设置为3d空间*/
        transform-style: preserve-3d;   

        position: relative;

    }
    .hongmian{
        width:30%;
        height:22rem;
        position: absolute;
        left:30%;
        top:2rem;
        background: #F00;
        transform: rotateX(90deg) translateZ(-20px);
        -webkit-transform: rotateX(4deg) translateZ(-20px);   
    }
    
</style>
</head>

<body>
   <div class="wrap3d">
    <div class="hongmian"></div>
</div>
</body>

</html>

css3 mask遮罩动画(照明灯效果)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.wrap{
    position:absolute;
    width: 400px;
    border:1px solid black;
}
#mask{
    height: 300px;
    background:url(http://sandbox.runjs.cn/uploads/rs/142/wat3wtnz/dongzhi.jpg) lightblue;
    -webkit-mask:  url(http://sandbox.runjs.cn/uploads/rs/142/wat3wtnz/mask.png) no-repeat;
      -webkit-mask-size:30px 20px;
    /*animation: 2s maskPosition infinite alternate ;*/
}

 @keyframes maskPosition{
    0%{-webkit-mask-position:0 0;}
    100%{-webkit-mask-position:1rem 1rem;}
} 
</style>
</head>
<body>
<div class="wrap">
    <div id="mask"></div>    
</div>
<script>

</script>
</body>
</html>

ps:

1 -webkit-mask-position 这个建议用rem来计算 不要用百分比计算 百分比不是按照图片的宽度来计算的

2 -webkit-mask-size 百分比是按照外面容器计算的 大小设置无限制的 (不设置为默认大小)

3 渐变属性不能做动画

4 实现照明灯 可以再参考http://newmiracle.cn/?p=1833这个

5 蒙版图片非透明地方显示 透明不显示

jquery.eraser制作擦涂效果

jquery.eraser制作擦涂效果

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta charset="utf-8" />
    <title>
        canvas画图
    </title>
</head>

<body>
    <img id="redux" style="width:60%;"  src="http://www.w3school.com.cn/i/ct_html5_canvas_image.gif" />
    <script type="text/javascript" src="/moban/js/jquery.min.js"></script>
    <script type="text/javascript" src="/moban/js/jquery.eraser.js"></script>
    <script type="text/javascript">
    $(function() {
        $('#redux').eraser({
            completeRatio: .6,
            size: 20,
           completeFunction: showResetButton
        });
    })
    function showResetButton(){
    alert('刮完');
}
    </script>
</body>

</html>

ps:jquery.eraser.js源码我修改了 ctx.drawImage( this, 0, 0,width,height ); 这样就能自适应了 所以图片必须设置宽度

可以用于刮刮卡