不安装优酷客户端转化kux格式视频的方法

kux文件格式是优酷的一种视频加密格式。只能使用优酷播放器播放。

实际上我不怎么用优酷看视频,也不喜欢随便安装什么客户端之类的。但有人让我帮忙转kux格式的视频,于是下载了个优酷的安装包。当然,没有安装,而是使用7-Zip把这个安装包解压出来。然后发现了一个文件夹叫nplayer,在这个文件夹里面还有一个ffmpeg.exe。

抱着试一试的心态我把nplayer文件夹单独复制出来,运行了一条简单的命令:

nplayer\ffmpeg.exe -i video.kux video.mp4

然后弹出了提示框:

这个倒好办,从优酷安装包解压出来的文件根目录就有一个。于是[……]

继续阅读

ML-2161打印机硒鼓计数芯片简单破解

关于硒鼓

一般情况下激光打印机碳粉用完后更换硒鼓便可以继续使用。但是硒鼓很贵。而且用完碳粉的硒鼓仅仅是碳粉盒中碳粉比较少,其他组件是完好的。所以,相比更换整个硒鼓这一“奢侈”的做法,直接给碳粉盒加碳粉更加实惠。

但是,如果给用完了的硒鼓直接加碳粉的话,将硒鼓放回打印机后显示的碳粉量并没有变化,因此还是用不了。

这就要提到打印机碳粉量是如何被获取的了。

实际上打印机并不知道碳粉盒里的碳粉具体有多少,但生产商可以估计一盒碳粉可以打印多少次。万恶的生产商会在硒鼓上装一个计数芯片用来记录打印次数(或许还有其他信息),然后当打印次数达到生产商设置的打印次数后,就可以认为碳粉用完,显示[……]

继续阅读

Java方法泛型返回数组的问题

问题

用Java写一个类似Python中random.choice 功能的方法时碰到了一个令我费解的情况。

源代码如下:

RandomUtil.java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

public class RandomUtil {

    public static final Random random = new Random();

    public static <T> T[] choice(T[] arr[......]

继续阅读

[转] 最牛B的 Linux Shell 命令

本文编译自 Catonmat 的系列文章 Top Ten One-Liners from CommandLineFuExplained 。作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。

 

引言

Shell作为Unix系操作系统当中最有魅力且不可或缺的组件,经过数十载的洗礼不仅没有被淘汰,而且愈加变得成熟稳健,究其原因,大概因为它是个非常稳固的粘合剂,能够把大量功能强大的组件任意配搭,总能很好很快地完成用户的任务。本文的一些[……]

继续阅读

折腾U盘启动

这次做了一个支持EFI和MBR启动的U盘,装的是Grub2引导。

安装这个也很简单,挂载U盘,创建一个boot目录,再用grub-install安装

mount /dev/sdb1 /mnt
mkdir /mnt/boot
grub-install --root-directory=/mnt/boot /dev/sdb1

安装EFI支持:

grub-install --target=x86_64-efi --root-directory=/mnt/boot /dev/sdb1

上面的命令在我这里出错了。理由佷简单,我Linux没有x86_64-efi的mod文件,grub-i[……]

继续阅读

与Python作用域有关的问题

value = 1

def foo():
    value = 2

foo()

print value

与上面代码类似的例子想必大家再熟悉不过了。这是一个阐述作用域的例子,它最终输出1。

代码中value 是一个全局变量,函数foo() 可以访问到这个全局变量,但不能改变这个全局变量指向的对象。所以,函数内对value 的赋值操作实际上创建的一个局部变量。

 

下面这段代码是我碰到的一个有意思的情况。

value = 1

def foo():
    if value:
        value = 0

foo()
pr[......]

继续阅读

Flask中使用reCAPTCHA

实际上Flask-wtf中已经整合了Google的reCAPTCHA。即

flask_wtf.recaptcha.RecaptchaField

,它内置了一个

Recaptcha

validator。

你只需配置一下public_key(RECAPTCHA_PUBLIC_KEY)和secret_key(RECAPTCHA_PRIVATE_KEY):

app = Flask(__name__)

app.config["RECAPTCHA_PRIVATE_KEY"] = 'xxxxxxxxxxxxxxxxxxxxxx'
app.config["RECAPTCHA_PUBLIC_KEY"[......]

继续阅读

世界,您好!

欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!

哦 (⊙_⊙)

print("Hello, World")
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}
<?php
echo "Hello, World";
?>
#include <stdio.h>

int main()
{
    printf("Hello[......]

继续阅读