iOS开发中遇到的一些问题 UILabel使用attribute string时,显示单行文字时,计算出的高度不太正常,底部会多出行间距(lineSpacing);多行时,就是正常的。解决方法: 在attributes字典中,只在文字展示为多行的情况下设置NSParagraphStyleAttributeName。 123456789101112131415161718192021NSString *text = @&quo 2022-04-10 #iOS
使用位逻辑运算实现位向量 使用位逻辑运算实现位向量 解答《编程珠玑》中相关习题时的一些思考。 假定,我们需要使用X个类型为type的整数来创建一个至少包含N个比特位的位向量,那么,计算出的X就是: int X = (int)ceil(N * 1.0 / (sizeof(type) * 8)) 通过这些整数,形成一个数组,就能构建出了我们需要的位向量: type bit_vector[X] 如果要对索引位置为i的比特位进行 2022-03-12 #Other
第23章-图像处理 图像处理截图也即保存视频中某帧的画面。 生成视频帧画面序列ffmpeg -i clip.avi frame%4d.jpg 只导出特定类型的视频帧画面序列在ffmpeg -h full中,可以找到-skip_frame选项: 只导出关键帧: ffmpeg -skip_frame nokey -i clip.avi frame%4d.jpg 生成 GIF实际上就是转码,给生成的文件加上gif后缀就可 2021-11-27 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第22章-改变播放速度 改变播放速度改变视频帧播放速度,需要使用setpts滤镜 改变音频帧播放速度,需要使用atempo滤镜 如,修改为2倍速: 1ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=expr=1.0/2*PTS;[0:a]atempo=tempo=2" output.mp4 2021-11-26 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第21章-截取特定部分 截取特定部分根据第18章、第20章中介绍的内容,将-ss和-t选项结合在一起使用,就可以截取出特定的部分 ffmpeg -i input.mp4 -ss 3 -t 5 output.mp4 2021-11-25 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第20章-设置起始时间 设置起始时间假如有一个视频文件input.mp4,此时如果要得到另外一个视频文件output.mp4,但要求output.mp4中的画面是input.mp4中第3秒之后的画面,针对这种情况,需要使用-ss选项。 ffmpeg -i input.mp4 -ss 3 output.mp4 2021-11-24 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第19章-设置帧数 设置帧数针对音频帧,需要使用-aframes或-frames:a选项 针对音频帧,需要使用-vframes或-frames:v选项 ffmpeg -i input.mp4 -vframes 100 output.mp4 2021-11-23 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第18章-设置时长 设置时长将时长设置为指定的值,需要使用-t选项,后面的值,可以是一个十进制数字(单位为秒)也可以是HH:MM:SS.m或S.m格式的值(HH代表时,MM代表分,SS和S代表秒,m代表毫秒) ffmpeg -i mandelbrot.mp4 -t 10.300 mandelbrot-10_3-seconds.mp4 2021-11-22 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第17章-转码 转码对输入文件进行处理,并生成输出文件的过程,称为转码。 转码可以是这样: 格式转换 只修改某些数据,同时保持文件格式不变 转码过程可以被分成以下部分: 解复用:使用libavformat中的解复用器,对输入文件进行处理,生成已编码的数据包 解码:使用解码器,将已编码的数据包进行解码,生成未压缩的帧 滤镜(可选):使用滤镜对解码后的帧进行处理 编码:使用编码器,将未压缩的帧,编码为数据包 复 2021-11-21 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg
第16章-采集 采集采集包括录屏、录音、使用摄像头捕获画面。 列出有哪些设备Linuxffmpeg -devices 列出V4L2可用的像素格式 ffmpeg -list_formats all -f v4l2 -i /dev/video0 macOSffmpeg -devices 列出avfoundation可用的设备: ffmpeg -list_devices true -f avfoundation 2021-11-20 #FFmpeg-CLI #FFmpeg命令行工具 #流媒体 #FFmpeg