树莓派之hello_video循环播放视频 2019-01-09

树莓派之hello_video循环播放视频

// Video deocode demo using OpenMAX IL though the ilcient helper library

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "bcm_host.h"
#include "ilclient.h"

static int video_decode_test(char *filename)
{
   OMX_VIDEO_PARAM_PORTFORMATTYPE format;
   OMX_TIME_CONFIG_CLOCKSTATETYPE cstate;
   COMPONENT_T *video_decode = NULL, *video_scheduler = NULL, *video_render = NULL, *clock = NULL;
   COMPONENT_T *list[5];
   TUNNEL_T tunnel[4];
   ILCLIENT_T *client;
   FILE *in;
   int status = 0;
   unsigned int data_len = 0;

SDL2之stb_image代替sdl2_image方法 2019-01-09

SDL2之stb_image代替sdl2_image方法

// https://www.libsdl.org/projects/SDL_image/
// 常用的 SDL Image 加载图片一般这样 ...
SDL_Surface * image = IMG_Load("/home/danoo/aaa.png");
// 使用 stb image 代替 sdl image 不再需要安装三方库
// 直接把 stb_image.h 文件导入到项目中即可使用 ...
https://github.com/nulijiabei/stb/blob/master/stb_image.h
// 同时也是官方推荐 ...
// https://wiki.libsdl.org/SDL_CreateRGBSurfaceFrom

树莓派之自定义开机启动画面 2018-12-26

树莓派之自定义开机启动画面

// 我的系统版本
root@raspberrypi:~# lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.4 (stretch)
Release:    9.4
Codename:   stretch
// 准备工作
// 1. 禁用颜色测试
/boot/config.txt 中添加 disable_splash=1
// 2. 禁用角落 LOGO
/boot/cmdline.txt 中添加 logo.nologo

树莓派之安装GStreamer与gst-omx教程 2018-11-26

树莓派之安装GStreamer与gst-omx教程

Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.4 (stretch)
Release:    9.4
Codename:   stretch
# /etc/apt/sources.list
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi

树莓派中手动编译sdl_image无法加载jpeg解决方案 2018-11-01

树莓派中手动编译sdl_image无法加载jpeg解决方案


如果你是因为忘记安装 libjpeg 造成 sdl2 image 无法加载 jpg 请离开 ....
如果你不准备使用 opengl es 版本的 sdl2
或者你仅仅只是单独使用 sdl2 image 的
一条命令解决你的烦恼
apt-get install libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev

树莓派之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 input.mp4 -vcodec h264 output.h264
// Video: h264, yuv420p(tv, bt709, progressive)
ffmpeg.exe -i input.mp4 -color_primaries bt709 -color_trc bt709 -colorspace bt709 output.h264
// Video: h264, yuv420p(progressive)
ffmpeg -i input_file.avi -vcodec copy -an -bsf:v h264_mp4toannexb output_file.h264

树莓派之部署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 (虚拟机实体机都可以)