- 博客(185)
- 资源 (10)
- 收藏
- 关注
原创 多媒体视频开发_(30)使用ffmpeg在视频中进行抽帧
基于ffmeg进行抽帧共有四种方式:抽取视频关键帧(I/P/B)抽取视频场景转换帧根据时间进行均匀抽帧抽取指定时间的视频帧1.抽取视频关键帧(IPB):视频关键帧(Video Keyframes)是用于视频压缩和视频编解码的帧,视频关键帧是包含了完整信息的帧,其他的非关键帧将会使用与关键帧的差值进行压缩。视频帧具体可以分为IPB帧三种:I帧表示关键帧,是最完整的帧画面,一般视频封面都选择I帧;P帧单预测帧,利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码;B帧双向预测帧,利用双
2022-01-22 14:50:04
7280
原创 linux驱动开发-platform_get_resource函数实现细节
先暂存:http://blog.sina.com.cn/s/blog_636a55070101mced.htmlhttps://www.cnblogs.com/sky-heaven/p/4800848.html
2022-01-12 15:06:55
692
原创 多媒体视频开发_(29)使用ffmpeg从视频中获取关键帧
1.使用ffmpeg命令行:ffmpeg -vsync 2 -i video.mp4 -vf select='eq(pict_type\,I)' -s 1920*1080 -f image2 img_%02d.jpeg各个参数解释:-i :输入文件,这里的话其实就是视频,-vf:是一个命令行,表示过滤图形的描述, 选择过滤器select会选择帧进行输出:包括过滤器常量pict_type和对应的类型:PICT_TYPE_I 表示是I帧,即关键帧。-vsync 2:阻止每个关键帧产生多余的拷贝
2021-12-31 16:08:14
2180
原创 多媒体视频开发_(28)使用ffmpeg进行深度学习模型计算
1.FFmpeg中基于深度学习模型的图像处理filter:dnn_processing介绍(1)https://blog.youkuaiyun.com/yjguo2004/article/details/1049834362.FFmpeg中基于深度学习模型的图像处理filter:dnn_processing介绍(2)https://blog.youkuaiyun.com/yjguo2004/article/details/1053785273.用GPU加速FFmpeg中的超分辨率功能https://blog.csdn.n
2021-12-23 00:57:06
1940
原创 多媒体视频开发_(27)ffmpeg格式转换bsf的使用
这里以用ffmpeg将mp4切片成ts slice 并生成m3u8命令为例:使用ffmpeg将mp4切成ts片段的时候会碰到一个问题,就是生成的m3u8文件里只有最后的五个片段的信息。这是因为ffmpeg 默认的list size 为5,所以只获得最后的5个片段。为了解决这个问题,需要指定参数-hls_list_size 0,这样就能包含所有的片段ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0
2021-12-17 20:49:21
1242
原创 C/C++---条件变量
参考:https://www.cnblogs.com/cthon/p/9084735.htmlhttps://blog.youkuaiyun.com/Joogle/article/details/8010245
2021-12-01 17:23:31
136
原创 opencv源码---imread、cvLoadImage、waitKey、imshow函数源码解读
参考:https://blog.youkuaiyun.com/hujingshuang/article/details/47184717https://blog.youkuaiyun.com/kuweicai/article/details/73395018
2021-11-30 21:52:50
440
原创 Linux学习---atomic_inc 原子操作
atomic_inc(&v)对变量v用锁定总线的单指令进行不可分解的"原子"级增量操作,避免v的值由于中断或多处理器同时操作造成不确定状态。原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语
2021-11-29 21:00:45
3045
原创 多媒体视频开发_(26)编译与安装opencv附带指定ffmpeg
最近需要在linux中使用opencv的VideoCapture,获取网络摄像头视频,但是一直在open时返回false。原因在与opencv编译过程中没有ffmpeg。解决方法是先安装ffmpeg,然后编译一遍opencv,在cmake时加一个ffmpeg选项。网上查到好多和交叉编译相关的,但是这里我不需要。解决:1.安装ffmpeg。在很多博客中写的是源码编译,但是我用命令直接安装就可以用了,很方便。控制台输入ffmpeg,检查是否安装成功。2.安装opencv。cd opencv #进
2021-11-29 11:36:26
1086
原创 多媒体视频开发_(25) hevc/h265/hev1/hvc1 codec_tag兼容问题
待梳理:reference:https://juejin.cn/post/6854573210579501070https://stackoverflow.com/questions/32152090/encode-h265-to-hvc1-codechttps://blog.youkuaiyun.com/qingzhuyuxian/article/details/89299565?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_
2021-11-29 11:28:37
2410
原创 list_entry 理解
list_entry时kernel里面经常遇到的一个函数,其定义为:#define list_entry(ptr, type, member) \ container_of(ptr, type, member) #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \---------------------(1) (type *)( (ch
2021-11-16 19:59:13
562
原创 linux ioctl函数介绍
1. 概念ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设 ioctl() 命令的方式实现。在文件 I/O 中,ioctl 扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析 ioctl 函数。2. 用户空间 ioctl#include <sys/ioctl.h> int ioctl(int fd, int cmd, ...) ;参数描述
2021-10-27 21:54:56
5593
1
原创 Linux学习---shell脚本中的算术运算(加减乘除求余)
1.使用 num=expr 数值1 符号 数值2数值1与数值2还有符号之间需要空格(数值1 空格 符号 空格 数值2)#!/bin/bashecho “使用expr”echo “加法”num1=expr 5 + 4echo $num1echo ------echo “减法”num2=expr 5 - 4echo $num2echo ------echo “乘法”num3=expr 4 \* 5echo $num3echo ------echo “除法”num4=ex
2021-08-02 09:57:22
8694
原创 Ubuntu系统中创建新用户
https://blog.youkuaiyun.com/timothy93bp/article/details/77679000
2021-07-17 16:20:14
355
原创 多媒体视频开发_(23) ffmpeg实现多宫格效果,视频拼接合成
先做个笔记,等有时间了整理一下:https://www.cnblogs.com/famhuai/p/10276081.html
2021-01-07 15:59:02
1450
原创 LINUX开发(一)_AMBA总线协议AHB、APB、AXI对比分析
https://blog.youkuaiyun.com/ivy_reny/article/details/56274412
2021-01-05 22:25:12
685
原创 多媒体视频开发_(22) ffmpeg 编译参数设置
root@web ffmpeg]# ./configure --helpUsage: configure [options]Options: [defaults in brackets after descriptions]Standard options: 基本选项参数--help 显示此帮助信息|print this message--log[=FILE|yes|no] 记录测试并输出到config.err文件|log tests and o...
2020-11-13 16:15:26
416
转载 多媒体视频开发_(21) ffmpeg推流操作
一.ffmpeg推流命令ffmpeg -re -i /Users/WX/Desktop/login_video.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/roomWX:电脑用户名login_video :推流的视频名上面这两点可以根据自己的需要修改二.用ffmpeg推流桌面以及推流摄像头进行直播1.如果希望将桌面录制或者分享,可以使用命令行如下:(这个只能够推桌面。)
2020-10-19 10:05:30
890
原创 多媒体视频开发_(20) freeImage-3.18.0源码编译与安装
wget http://downloads.sourceforge.net/freeimage/FreeImage3170.zip#解压unzip FreeImage3170.zip -d freeImage#编译cd FreeImagemake -j64 && make install #安装在/usr/lib下
2020-09-24 21:09:46
559
原创 多媒体视频开发_(20) FFMPEG编译选项
1 生成参数2 交叉参数3 性能参数以下参数使用–enable-foo启用或使用–disable-foo禁用时使用–e/d-代替。4 功能选项使用–enable-foo启用或使用–disable-foo禁用需要的功能插件,使用–e/d-代替。某些部件(如decoder)enable时需要明确指明,例:–enable-decoder=libdavs2。注:打开与启用非等同其他默认开启但可以关闭的部分:ffmpeg、ffprobe、ffplay、ffserver、avdevice、avco
2020-09-15 10:24:18
327
原创 Linux基础——docker镜像打包save,载入load,启动run
docker打包,针对的是镜像,而不是运行中的容器。查看当前系统的镜像文件:docker images首先,将当前运行中的,已经自定义修改之后的容器保存为新的镜像。docker commit ce11ed87f21f web_servers:2.0例如镜像名叫:web_servers执行打包命令:将镜像web_servers 通过save打包命令,以为.tar格式保存在路径/home下。docker save web_servers:2.0 -o /home/web_servers.t
2020-08-21 20:51:45
2133
原创 多媒体视频开发_(19) FFMPEG从TS转成mp4
ffmpeg -y -i input.ts -c:v libx264 -c:a copy -bsf:a aac_adtstoasc output.mp4说明下参数的意义-c:v 是指video编码-c:a 是指audio编码-bsf bitstream filterffmpeg -y -i <in file> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output file>ffmpeg -i..
2020-08-12 18:02:59
624
转载 多媒体视频开发_(18) FFMPEG命令行-日志级别设置
ffmpeg有很多的命令参数,但是有时候不想去官网查看document,就可以在本地执行命令man ffmpeg 查询。比如我看日志级别设置类似于vim一样搜索比如我想要探测一下264裸流:ffprobe -i gaoliwen.264 -loglevel trace结果如下:...
2020-08-10 11:00:12
459
原创 多媒体视频开发_(17) FFMPEG从MP4中提取h264裸流
mp4 原始文件 = 264裸流 + 音频流 + metadataffmpeg -i test.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 output.264说明:-i test.mp4: 输入MP4文件-codec copy: 从MP4封装中进行拷贝-bsf:h264_mp4toannexb: 从MP4拷贝到annexB封装-f h264: 采用264格式output.264: 输出文件名...
2020-08-06 10:08:49
944
原创 多媒体视频开发_(16) FFMPEG将多个视频片段合成一个视频
ffmpeg 将多个视频片段合成一个视频1. 新建文本文件 filelist.txtfilelist.txtfile 'output_train_video_0.mp4'file 'output_train_video_1.mp4'file 'output_train_video_2.mp4'file 'output_train_video_3.mp4'file 'output_train_video_4.mp4'单引号内是视频片段名字,如果文件名有奇怪的字符,要在 filelist.
2020-08-04 14:39:56
530
原创 多媒体视频开发_(15) FFMPEG使用NVIDIA的GPU硬件转码
下载ffmpeg源码git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/安装依赖包:sudo apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev编译配置./configure --enable-nonfree -–enable-cuda-sdk –enable-libnpp --extra
2020-07-12 16:34:09
952
1
原创 多媒体视频开发_(14) ffmpeg pix_fmt格式转换
yuv420 到 rgb24 格式之间的转换,其他格式转换方式与此类似ffmpeg -s 360x270 -pix_fmt yuv420p -i 2_test_360x270_50.yuv -pix_fmt rgb24 aaaa.rgb
2020-06-18 14:07:18
1619
原创 多媒体视频开发_(13) 查看ffmpeg支持的编码器和封装格式
查看支持的编码器(也就是-vcodec后面可以接的参数):ffmpeg -codecs查看支持的封装格式(也就是-f后面可以接的参数):ffmpeg -formats查看支持的滤镜(也就是-vf后面可以接的参数):ffmpeg -filters此内容可以在ffmpeg文档3.1部分找到http://www.ffmpeg.org/ffmpeg-doc.html#SEC4可执行的命令行如如下:•可用的bit流 :ffmpeg –bsfs•可用的编解码器:ffmpeg –codecs
2020-06-15 09:57:43
2316
原创 多媒体视频开发_(12) FFMPEG修改视频分辨率
在本文中,我们将展示如何调整任何视频文件的大小。这种方法是在Linux系统(几乎任何发行版)中调整视频文件大小的最佳方法之一,也是Windows和Mac用户的绝佳替代方案。更改视频文件的分辨率将是我们在处理视频文件时将执行的最常见操作之一,因此ffmpeg能够完美地完成此操作。我们应该想要更改视频文件的分辨率有几个原因,例如:减少视频的大小。这可以通过降低视频的分辨率来实现。如果我们采用高清(1920x1080像素)的视频,但我们知道我们永远不会在支持比1024x768更高分辨率的屏幕上看到
2020-05-15 16:03:15
942
原创 多媒体视频开发_(11) FFmpeg实现MJPEG编码支持的格式
...Encoder mjpeg [MJPEG (Motion JPEG)]: General capabilities: threads Threading capabilities: frame and slice Supported pixel formats: yuvj420p yuvj422p yuvj444p
2020-05-14 15:15:22
1908
原创 多媒体视频开发_(10) FFmpeg实现图像视频的相互转换
视频转图片ffmpeg -i input.flv -r 1 -f image2 image-%3d.jpeg-i : 指定输入文件-r : 帧数 1-f : 指定格式化的格式为image2生成的结果 image-%3d.jpeg %3d是指3位数字图片转视频ffmpeg -i image-%3d.jpeg out.mp4-i : 指定图片内容最终结果输出为out.mp4...
2020-05-13 20:16:45
330
原创 多媒体视频开发_(9) live555 media server rtsp 流媒体服务找不到ip问题解决
运行live555, 搭建好rtsp server 看到rtsp://0.0.0.0/<filename>,这里 ip地址为0.0.0.0,说明没有正常获取到你服务器的ip,此时如果用vlc或者mpc-hc或者potplayer播放的话,服务器上会报错:Unable to determine our source address: This computer has an in...
2020-05-07 21:10:34
1754
原创 Linux学习---获取本机IP
c/c++代码中获取需要的ip地址,类似于命令行中的 ifconfig;#include <stdio.h> #include <sys/types.h>#include <ifaddrs.h>#include <netinet/in.h> #include <string.h> #include <arp...
2020-04-26 10:08:01
382
原创 深度学习笔记---摆数操作 NCHW和NHWC区别
深度学习中,经常出现摆数的要求;经常会对数据的不同格式出现疑惑,这里记录下来;说到的NHWC或者 NCHW其中每个代表的含义如下:N代表数量, C代表channel,H代表高度,W代表宽度。1、NCHW其实代表的是[W H C N], 第一个元素是000,第二个元素是沿着w方向的,即001,这样下去002 003,再接着呢就是沿着H方向,即004 005 006 007…这样到019后,...
2020-04-09 23:40:56
6272
原创 C/C++---计算代码运行时间
好久不用,复习一下:**方法一:clock_t 类**这个用法比较简单:int i = 100000000;clock_t start,finish;start = clock(); // 设置开始clockwhile( i-- );finish = clock();// 设置结束clockdouble duration = (double)(finish - start) /...
2020-04-01 22:07:51
1576
原创 Linux学习---Docker常用命令记录
自述工作以来发现docker的使用越来越频繁,而且好多项目交付,初始版本一般也会是docker的形式,出差与客户联调一般也是docker,项目展示一般也是cocker,以为docker真的会较少不必要的麻烦;特此记录一下,使用的时候便于翻出来,不用大海捞针;这里只总结目前遇见的常用的几条命令,高阶玩法以后用到再玩;常用docker命令1.查看Docker信息docker info<b...
2020-03-28 14:01:33
426
原创 Linux学习---创建普通用户/更改文件属性
linux root添加新用户加用户 useradd 用户名设置密码 passwd 用户名然后输入 两次密码即可;修改 /etc/sudoers 文件;如何改变文件属性与权限1.chgrp,改变文件所属用户组;chown,改变文件所有者;chmod,改变文件的权限。 chmod -R 777 /data/project/ 设置project下所有文件的权限2.ch...
2020-03-20 15:26:54
804
原创 ubuntu 18.04设置sources.list源为阿里或清华镜像
1. 备份源列表Ubuntu缺省的配置的源并不是国内的服务器,下载更新软件都比较慢,本文介绍如何设置源列表,选择比较快的源以节省下载时间。# 首先备份源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup2. 打开sources.list文件修改选择合适的源,替换原文件的内容,保存编辑好的文件, 以阿里云更新...
2020-03-19 12:46:18
10398
MATLAB2016a破解版安装文件+破解文件+破解教程
2018-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人