树莓派之SDL2.0_OpenGLES_FFmpeg硬解视频播放 2018-10-12

树莓派之SDL2.0_OpenGLES_FFmpeg硬解视频播放

// 如何编译 FFmpeg h264_mmal 请看本博客对应博文
// 首先下载好 SDL 2.0 源码等待编译
http://www.libsdl.org/download-2.0.php

// 编译一版 OpenGL ES 的 SDL ...
./configure --prefix=/usr/local \
   --disable-video-x11 \
   --disable-pulseaudio \
   --disable-esd \
   --disable-video-opengl

Qt之QOpenGLWidget使用QPainter绘制FFmpeg解码的YUV420P帧 2018-10-05

Qt之QOpenGLWidget使用QPainter绘制FFmpeg解码的YUV420P帧

#ifndef GLWIDGET_H
#define GLWIDGET_H

#include <QOpenGLWidget>
#include <QPainter>
#include <QDebug>
#include <QTimer>
#include <QTime>
#include <QString>
#include <QtDebug>
#include "decoder.h"

class GLWidget : public QOpenGLWidget
{
    Q_OBJECT
public:
    GLWidget();
    ~GLWidget() override;
    void decoder(Decoder*);
private:
    QTimer *m_t_update = nullptr;
    Decoder *m_decoder = nullptr;
    int m_t_num = -1;
    QTime m_t_fps;
public slots:
    void uuu();

FFmpeg之从MP4提取H264裸流 2018-09-27

FFmpeg之从MP4提取H264裸流


// mp4 转 h264 裸码流
ffmpeg -i 20130312_133313.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 20130312_133313.264

树莓派之部署QT与FFmpeg硬解开发环境 2018-09-23

树莓派之部署QT与FFmpeg硬解开发环境

// 安装 QT
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install qtcreator
sudo apt-get install qtdeclarative5-dev // QML
// 需要自己手动配置构建套件,配置qmake,gcc,g++,gdb

FFmpeg 编译 及 支持 x264 …

树莓派之系统安装与网络配置 2018-09-23

树莓派之系统安装与网络配置

硬件:
    树莓派zero(w)
    PC一台(这里用的win10)
    普通micro数据线
    读卡器和8G容量以上的TF卡

软件:
    win32diskimager
    树莓派官方固件 (https://www.raspberrypi.org/downloads/raspbian/)
    Linux (虚拟机实体机都可以)

使用nmcli-network-manager管理wifi网络 2018-08-11

使用nmcli-network-manager管理wifi网络

// 使用 nmtui 可以在命令行界面进行网络配置
// 配置文件:/etc/NetworkManager/NetworkManager.conf
// 注意:OBJECT和COMMAND可以用全程也可以用简称,最少可以只用一个字母,但我们一般用头三个字母,这样不容易搞错

root@desktop:~# nmcli -help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

Linux之pppd拨号成功后后自动挂断 2018-08-04

Linux之pppd拨号成功后自动挂断

Ubuntu 16.04 系统 
// 手动 PPPD 拨号 ...


OK

+CSQ: 23,99

OK
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
AT+CRSM=176,12258,0,0,10
+CRSM: 144,0,"98681011180171850491"
23:44:16.054558 dial.go:103: ICCID >>> /dev/shm/3g_iccid

修改Ubuntu启动画面中的Logo 2018-07-03

修改Ubuntu启动画面中的Logo

// 在grub文件中可以设置使用splash或text模式启动
/etc/default/grub -> GRUB_CMDLINE_LINUX_DEFAULT
更新 update-grub
修改 /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.png
修改 /usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo16.png
修改 /usr/share/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
修改 /usr/share/plymouth/themes/ubuntu-text/ubuntu-text.plymouth.in
更新 update-initramfs -u

强制重启Linux系统的几种方法 2018-06-28

强制重启Linux系统的几种方法

实际生产环境中某些情况下 Linux 服务器系统在出现致命错误需要远程进行重启,通过常规的 reboot、init 6 等方法无法正常重启(例如重启时卡在驱动程序里等情况),这时就需要通过下面介绍的几种特殊的方法进行强制重启。

注意

下面这些强制重启 Linux 的方法都是直接跳过 umount 文件系统及 sync 等操作,可能导致数据损坏,不在特殊情况下请勿使用。
另外当然这些都是需要 root 超级用户权限的哦。

Qt中实现图片透明度设置与显示 2018-06-24

Qt中实现图片透明度设置与显示

drawForeground(QPainter *painter, const QRectF &rect)  
{  
    QPixmap foreImg;  
    foreImg.load("C:/Users/Desktop/fengjing1.jpg");  
    if (!foreImg.isNull())  
    {  
    painter->setOpacity(0.4);//透明度设置  
    painter->drawPixmap(int(sceneRect().left()), int(sceneRect().top()), foreImg);     
    }  

}  
drawBackground(QPainter *painter, const QRectF &rect)  
{  
    QPixmap foreImg;  
    foreImg.load("C:/Users/Desktop/fengjing2.jpg");  
    if (!foreImg.isNull())  
    {  
    painter->setOpacity(0.9);//透明度设置  
    painter->drawPixmap(int(sceneRect().left()), int(sceneRect().top()), foreImg);     
    }  
}