【测试工具】如何制作指定大小的文件(包含可播放的视频或图片)

需求:

  1. 需要指定大小的 视频/图片 文件(如300M、299.9M、300.1M)
  2. 上传后还可以进行预览,查看视频内容,可以拖拉进度条,检查视频内容是否受损

存储单位转换:计算机中常见的单位及转换

一、生成指定大小的文件

这个网络的资源比较多,主要方法有以下几种

1、fsutil命令(Windows)

# fsutil file createnew  文件名(带路径)  文件大小(byte)
# 例如:创建一个100M大小的.zip文件
# 100M = 1024字节 * 1024 * 100
fsutil file createnew D:\test.zip 

2、mkfile命令(Mac)

# mkfile -n size[b|k|m|g] file_name
# 创建一个100M的.zip文件
mkfile -n 100m test.zip

3、dd命令(通用)

# dd命令需要定义 文件名,区块尺寸和区块大小
# dd if=/dev/zero of=filename bs=1024 count=1000
  • if 输入文件
  • of 输出文件
  • bs 字节为单位的块大小
  • count 被复制的块数
  • /dev/zero 是一个字符设备,不断的返回0值字节
# bs的默认单位是byte,即b,也可以指定为 bs=1M
# 在当前目录下会生成一个1000M的test文件
# 文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)
# 但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度
# 如果欲产生超大文件,速度很慢。

# 在/test目录生成一个大小为1G的大文件,内容是0
dd if=/dev/zero of=/test count=2 bs=512M

二、生成指定大小的视频

预先环境配置:Mac如何配置FFmpeg环境

通过第一部分我们知道如何生成一个指定大小的文件,我们自然可以通过上述方式更改一下后缀名,将其变成一个视频或其他任何类型文件。

但是我们的目的是希望创建出来的视频文件还可以进行播放和预览,如果有音频内容就更好了,便于我们进行第二步测试时候,播放、操作进度条及校验清晰度等。

那我们需要了解视频大小由什么参数决定。

视频大小计算公式:总码率(音频码率+视频码率) * 时长 / 8 = 视频时长(kb)
码率(常用单位kbps):每秒有多少数据 1Mbps=1024Kbps=1024/8KBps=128KB/s

了解这个基本就可以开工了,我们的目标就是如何修改一个已知视频的码率,通过搜索发现视频相关的概念太多,我们目标只解决问题,不讨论视频内部的各种概念

我们可以拿到指定大小的视频,最简单的方式就是裁剪,根据公式,我们按需要从一个大视频中裁剪指定的长度,就可以获取对应大小的视频

我们如果想拿到一个200M的视频大小如何操作呢?

# 首先第一步从得物下载一个视频,test1video的大小是5.2M,
# 也就是说,我们想拿到300M的视频,得先让这个视频拼接起来
import os

# 获取视频的大小byte
file_byte = os.path.getsize("/Users/admin/Downloads/test/test1video.mp4") # 5159526
# 这个视频离我们目标有点远,需要进行视频长度拼接,保持视频的其他参数不变
tar_size = 1024 * 1024 * 300    # 300M
count = (int)(tar_size/file_byte) + 1
print(count)
# 生成一个file_list.txt文件,填入指定内容
file = open('/Users/admin/Downloads/test/file_list.txt','w+')
while count > 0:
    if count != 1:
        file.write("file 'test1video.mp4'\n")
    else:
        file.write("file 'test1video.mp4'")
    count -= 1

file.close()

在这里插入图片描述
通过上边的程序我们可以得到一个文件,file_list.txt,里边包含了指定个数的文件名
使用FFmpeg合并这些相同的视频

# 需要先添加FFmpeg相关可执行文件,并且配置环境变量
ffmpeg -f concat -i file_list.txt -c copy file_list.mp4

在这里插入图片描述
可以发现根据粗略计算出来的,结果变大了,这是因为合并的算法导致,我们进行略调整,目测减少两个,也就是59个试一下在这里插入图片描述
还是大了一点,再减少一个,使用58个进行合并
在这里插入图片描述
可以发现已经小于300M了,这样我们就拿到了300M左右两个测试视频。

问1:如何将视频制作输出为精准到比特的大小呢?
使用视频制作软件,制作出单位视频

问2:为什么Mac电脑和其他电脑显示同一个视频的大小会有差别?
答:Mac电脑进行计算视频大小的时候是有自己的算法的,不是常规的计算方式,不用管Mac电脑的显示内存大小

三、生成指定大小的图片

我们使用“图片内部藏文件的做法”
三步

1、生成一个 指定大小的.zip文件

# 生成一个100M大小的zip文件
mkfile -n 100m zip100m.zip

在这里插入图片描述

2、准备好一张图片

请添加图片描述

3、合并文件

windows电脑请编写这个.bat文件,并双击执行

copy/b nice.jpeg+zip100m.zip=nice2.jpeg

Mac电脑在命令行直接执行

cat ./nice.jpeg zip100m.zip > nice2.jpeg

这个图片就成了一百多兆大小
请添加图片描述

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要制作一个视频播放网页,需要以下步骤: 1. 选择合适的 Web 开发技术,例如 HTML、CSS、JavaScript 和某种服务器端语言(如 PHP)。 2. 创建一个 HTML 页面,在其中添加一个 `<video>` 标签,以播放视频。 3. 使用 CSS 来样式化页面,以让它看起来更好看。 4. 使用 JavaScript 来实现页面的交互功能,例如控制视频的播放、暂停和进度。 5. 将视频文件存储在某个服务器上,以便在网页中播放。 6. 发布页面到 Web 服务器,使其对公众可访问。 7. 测试网页,确保视频能够正常播放并且页面看起来良好。 这是一个大致的流程,具体的实现方法可能会因技术选择、需求不同而有所不同。 ### 回答2: 制作一个视频播放网页可以按以下步骤进行。 第一步,确定网页的基本结构。可以使用HTML和CSS来创建网页的框架和布局。在HTML中,可以使用<div>标签来创建不同区域的容器,例如头部、导航栏、主内容区和底部等。然后,使用CSS来为这些区域设置样式和布局,包括大小、颜色和位置等。 第二步,选择一个合适的视频播放器。可以使用HTML5的<video>标签来嵌入视频,并设置相关属性,如视频文件的URL、标题、大小和自动播放等。此外,还可以选择使用流行的视频播放器库,如Video.js或Plyr,以便更好地控制视频的播放和外观。 第三步,设计用户界面和交互。在播放网页上,通常需要包括播放/暂停按钮、音量控制、全屏切换和进度条等功能。可以使用HTML和CSS来创建这些按钮和控件的样式和布局,并利用JavaScript来实现相应的交互和功能。例如,可以使用JavaScript来控制视频的播放和暂停,调整音量和监控视频的进度。 第四步,优化视频加载和播放性能。为了提高用户体验,可以优化视频的加载和播放性能。可以将视频文件进行压缩和编码,以减小文件大小并提高加载速度。此外,可以设置视频的预加载和缓冲机制,以确保视频在播放时没有中断和卡顿。还可以针对不同的设备和网络条件进行适配和优化,以提供更好的播放体验。 第五步,测试和部署。制作完成后,可以进行测试,确保视频播放网页在不同的浏览器和设备上正常运行。可以使用调试工具进行调试,并修复可能出现的错误和问题。最后,将网页的文件和资源上传到服务器,并进行部署,使其能够在互联网上访问和使用。 制作一个视频播放网页需要熟悉HTML、CSS和JavaScript等前端开发技术,同时也需要对视频格式、编码和性能优化有一定的了解。 ### 回答3: 制作一个视频播放网页需要以下几个步骤: 1. 设计网页布局:首先,确定网页的整体设计风格和布局。可以选择一个现成的网页模板或自己设计一个。确保布局简洁清晰,并考虑到不同设备和屏幕尺寸的适配问题。 2. 编写HTML代码:使用HTML语言编写网页的结构。包括创建视频播放器的容器元素,并设置合适的尺寸和位置。 3. 插入视频播放器:通过使用HTML或者JavaScript来插入视频播放器。可以选择使用HTML5的标准视频标签`<video>`,也可以使用外部插件(如jPlayer、Video.js等)来实现视频播放功能。将视频文件的URL链接或路径指定视频播放器的相应属性中。 4. 设置视频播放器的控制功能:根据需求,可以自定义视频播放器的控制功能,如播放、暂停、快进、音量控制等。这可以通过JavaScript代码来实现,或者使用外部的媒体播放器插件。 5. 添加视频信息和封面图:为视频播放器添加标题、描述等相关信息,并选择一个合适的封面图展示在视频播放器上,增加视觉吸引力。 6. 优化视频播放网页:为了提供更好的用户体验,可以对视频播放网页进行优化。例如,优化网页加载速度、响应式设计、兼容性适配、网页SEO等。 7. 测试和发布:在制作完成后,进行测试以确保视频播放网页在不同浏览器和设备上正常运行。最后,将网页部署到服务器上,使其可以通过网络进行访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李易安QSR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值