多媒体开发
多媒体开发
hairuiJY
在不归路上愈走愈远!
展开
-
多媒体视频开发_(31) ffmpeg extradata 详解
ffmpeg extradata 详解原创 2022-06-25 17:18:52 · 1631 阅读 · 1 评论 -
多媒体视频开发_(30)使用ffmpeg在视频中进行抽帧
基于ffmeg进行抽帧共有四种方式:抽取视频关键帧(I/P/B)抽取视频场景转换帧根据时间进行均匀抽帧抽取指定时间的视频帧1.抽取视频关键帧(IPB):视频关键帧(Video Keyframes)是用于视频压缩和视频编解码的帧,视频关键帧是包含了完整信息的帧,其他的非关键帧将会使用与关键帧的差值进行压缩。视频帧具体可以分为IPB帧三种:I帧表示关键帧,是最完整的帧画面,一般视频封面都选择I帧;P帧单预测帧,利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码;B帧双向预测帧,利用双原创 2022-01-22 14:50:04 · 7138 阅读 · 0 评论 -
多媒体视频开发_(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 · 2091 阅读 · 0 评论 -
多媒体视频开发_(28)使用ffmpeg进行深度学习模型计算
1.FFmpeg中基于深度学习模型的图像处理filter:dnn_processing介绍(1)https://blog.csdn.net/yjguo2004/article/details/1049834362.FFmpeg中基于深度学习模型的图像处理filter:dnn_processing介绍(2)https://blog.csdn.net/yjguo2004/article/details/1053785273.用GPU加速FFmpeg中的超分辨率功能https://blog.csdn.n原创 2021-12-23 00:57:06 · 1887 阅读 · 0 评论 -
多媒体视频开发_(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 · 1170 阅读 · 0 评论 -
多媒体视频开发_(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 · 1035 阅读 · 0 评论 -
多媒体视频开发_(25) hevc/h265/hev1/hvc1 codec_tag兼容问题
待梳理:reference:https://juejin.cn/post/6854573210579501070https://stackoverflow.com/questions/32152090/encode-h265-to-hvc1-codechttps://blog.csdn.net/qingzhuyuxian/article/details/89299565?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_原创 2021-11-29 11:28:37 · 2158 阅读 · 0 评论 -
多媒体视频开发_(24) ffmpegh264参数设置
https://www.jianshu.com/p/b46a33dd958d原创 2021-09-02 18:52:15 · 292 阅读 · 0 评论 -
多媒体视频开发_(23) ffmpeg实现多宫格效果,视频拼接合成
先做个笔记,等有时间了整理一下:https://www.cnblogs.com/famhuai/p/10276081.html原创 2021-01-07 15:59:02 · 1380 阅读 · 0 评论 -
多媒体视频开发_(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 · 379 阅读 · 0 评论 -
多媒体视频开发_(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 · 842 阅读 · 0 评论 -
多媒体视频开发_(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 · 518 阅读 · 0 评论 -
多媒体视频开发_(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 · 284 阅读 · 0 评论 -
多媒体视频开发_(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 · 591 阅读 · 0 评论 -
多媒体视频开发_(18) FFMPEG命令行-日志级别设置
ffmpeg有很多的命令参数,但是有时候不想去官网查看document,就可以在本地执行命令man ffmpeg 查询。比如我看日志级别设置类似于vim一样搜索比如我想要探测一下264裸流:ffprobe -i gaoliwen.264 -loglevel trace结果如下:...转载 2020-08-10 11:00:12 · 425 阅读 · 0 评论 -
多媒体视频开发_(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 · 907 阅读 · 0 评论 -
多媒体视频开发_(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 · 504 阅读 · 0 评论 -
多媒体视频开发_(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 · 895 阅读 · 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 · 1559 阅读 · 0 评论 -
多媒体视频开发_(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 · 2193 阅读 · 0 评论 -
多媒体视频开发_(12) FFMPEG修改视频分辨率
在本文中,我们将展示如何调整任何视频文件的大小。这种方法是在Linux系统(几乎任何发行版)中调整视频文件大小的最佳方法之一,也是Windows和Mac用户的绝佳替代方案。更改视频文件的分辨率将是我们在处理视频文件时将执行的最常见操作之一,因此ffmpeg能够完美地完成此操作。我们应该想要更改视频文件的分辨率有几个原因,例如:减少视频的大小。这可以通过降低视频的分辨率来实现。如果我们采用高清(1920x1080像素)的视频,但我们知道我们永远不会在支持比1024x768更高分辨率的屏幕上看到原创 2020-05-15 16:03:15 · 883 阅读 · 0 评论 -
多媒体视频开发_(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 · 1839 阅读 · 0 评论 -
多媒体视频开发_(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 · 310 阅读 · 0 评论 -
多媒体视频开发_(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 · 1568 阅读 · 0 评论 -
多媒体视频开发_(8) H264码流中NALU的理解
什么是NALU? H264码流可以分为两层,VCL层和NAL层,NAL的全称是Network abstraction layer,叫网络抽象层,它保存了H264相关的参数信息和图像信息,NAL层由多个单元NALU组成,NALU由了NALU头(00 00 00 01或者00 00 01)、sps(序列参数集)、pps(图像参数集合)、slice、sei、IDR帧、I帧(在图像运动变化较少时,I...原创 2020-02-16 12:51:17 · 1309 阅读 · 0 评论 -
多媒体视频开发_(7) FFMPEG常用命令操作
做多媒体开发,ffmpeg工具必备,熟悉常用命令,可以很高效的解决问题原创 2020-02-03 18:03:47 · 463 阅读 · 0 评论 -
多媒体视频开发_(6) EasyDarwin开源流媒体服务器程序搭建
EasyDarwin开源流媒体服务器程序搭建https://winqi.cn/120.html原创 2019-11-27 11:19:13 · 453 阅读 · 0 评论 -
多媒体视频开发_(5) ffmpeg -stream_loop -1 执行怎么都不循环播放
ffmpeg -re -stream_loop -1 -i 2minTransformers6281_trailer1080p.flv -vcodec copy -f flv rtmp://192.168.1.26:1935/live/PFM_test_HD_test1会出问题:解决方法,ffmpeg版本太低,需要安装高版本的ffmpeg...原创 2019-11-27 10:42:25 · 2980 阅读 · 0 评论 -
多媒体视频开发_(4) 码率(Bitrate)、帧数(FPS)、分辨率是什么
码率(Bitate):码率影响视频文件的大小,码率越大,视频文件越大;码率越小,体积越小。码率是视频的取样率,单位是kbps(千位每秒)。单位时间内取样越大,精度就越高,处理出来的文件就越接近原始文件,码率越高越清晰,反之画面粗糙多马赛克。码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。也就是取样率(并不等同与采样率,采样率的单位是Hz,表示每秒采样的次数)...原创 2019-11-07 15:01:46 · 2274 阅读 · 1 评论 -
多媒体视频开发_(3) ffmpeg获取视频的总帧数
在ffmpeg中通常使用 ffprobe来获取视频流的总帧数;这种类型的任务是ffprobe擅长的。命令行:ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 input.mp4输出:...原创 2019-11-06 21:42:56 · 13029 阅读 · 2 评论 -
多媒体视频开发_(2) ffmpeg_转码工具_各种格式间互转_计算PSNR
windows下265转YUV>ffmpeg.exe -i Runners-265-3840x2160-25fps-YUV420-CBR_8192Kb-GOP_25.h265 -vcodec rawvideo -an run.yuvYUV转264>ffmpeg.exe -video_size 3840x2160 -i Runners.yuv -vcodec h26...原创 2019-10-22 18:05:55 · 1115 阅读 · 1 评论 -
多媒体视频开发_(1) 专业词汇解释
ffmpeg--多媒体视频处理工具 简单的说,ffmpeg有视频采集功能、视频格式转换、视频抓图、给视频加水印 值得注意的是,ffmpeg只是提供了编码解码的接口。 decode--译码,解码工具 如:H264 decode encode--解码 值得一提的是:encode+decode=codec(编码方式) demux是“解析格式”,比如MKV...原创 2019-09-30 11:17:26 · 224 阅读 · 0 评论