问题标签 [video-compression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在 C++ 中录制具有精确帧时间戳的视频
我想用 C++ 记录相机的帧。相机帧速率不是恒定的,我需要存储每个图像及其时间戳(我使用的是操作系统时钟,并存储图像毫秒精度)。我已经将捕获的图像存储为一系列图像文件,但独立存储的图像(如 .png)太重(因为我正在处理长序列并且它们很多)。因此,我想利用连续图像之间的相似性(作为视频压缩技术)并创建一个利用这一事实的无损视频。然后,我想使用这个视频来单独提取图像,同时保留时间戳。
换句话说,我只使用视频格式来压缩图像序列(不会丢失信息),但我需要跟踪捕获图像时的确切时间戳。
所以我的问题是: 如何以无损格式使用每帧的确切时间戳记录视频中的摄像机流?
我一直在尝试使用 OpenCV 库,尤其是VideoWriter类。但是 VideoWriter 接口不提供任何将帧和时间戳作为输入的方法。
我拥有的另一个选择是将每个帧的时间戳与录制的视频一起存储在单独的 txt 文件中。然后,我可以使用时间戳从视频中检索帧。但是,我不确定我是否会检索确切的帧,这是没有任何信息插值的。
提前致谢
android - 如何减少视频压缩处理时间?
我已经使用 FFMPEG 进行视频压缩,但它花费了太多时间。有什么解决方案可以减少视频压缩处理时间?
我用过下面的命令,
python - ffmpeg:在给定前一帧、运动向量和残差图像的情况下,有没有办法对视频帧进行解码?
假设我们得到以下 numpy 数组:时间步长 t-1 的 BGR 视频帧,时间步长 t 的运动矢量,以及时间步长 t 的残差图像。此外,假设视频帧、运动矢量和残差图像来自使用 mpeg-4 压缩的视频。
使用这些输入,我们将如何使用 ffmpeg 为时间步 t 解码 BGR 视频帧?
我尝试通过以下方式手动重建 t 帧:(1)创建一个参考帧,它只是 t-1 帧的副本;(2) 基于运动矢量,通过将 16x16 像素块从 t-1 帧复制到参考帧来执行运动补偿;(3) 将残差图像添加到运动补偿参考帧中。
但是,生成的预测 t 帧与实际的 t 帧并不完全匹配,所以我觉得这可能不是正确的方法。
javascript - 在javascript(react)Web应用程序中上传视频时的视频压缩
在我的反应应用程序中,我包含了图像和视频上传功能。对于图像,我在上传到服务器之前压缩图像。现在我也需要对视频做同样的事情。但我不确定是否应该在上传之前(从前端)或上传之后(从后端)进行视频压缩。考虑到性能和效率,最好的方法是什么?
谢谢。
ios - Swift 中的 3gp 视频压缩问题
我正在我的应用程序中处理视频上传模块。在上传到服务器之前,我正在压缩工作正常的视频,并且在压缩 mp4 和 .mov 类型文件后视频大小正在减小,但是当我上传 .3gp 格式的视频时,它没有压缩。假设我在压缩后上传 20 Mb 视频,它被压缩为 20 Mb 或有时 27 Mb。这是我尝试过的: -
ios - 有什么方法可以快速压缩视频吗?
我正在使用AVAssetWriter
压缩视频,但在 12 mb 中压缩大小为 160 的视频需要 20 到 25 秒。我想要修复 1600 kbps 的比特率和自然的视频帧。有什么方法可以快速压缩吗?
编辑:- 使用上述方法,它转换不同比特率的视频而不是定义的比特率,为什么?
任何方向都会不胜感激。
提前致谢
ffmpeg - 通过字节范围分段时,HLS 编码的视频 (ffmpeg) 在 Safari 中中断
我的一些通过 ffmpeg 编码的 HLS 视频在通过缓冲区时会丢弃音频。再次同步音频和视频的唯一方法是重新启动视频。什么会导致这种情况?
示例配置文件:
分割命令:
补充:苹果的mediastreamvalidator
输出一些不同的错误:
更新 1: 我修改了编码命令以利用 tee 伪多路复用器,但在将 HLS 分段为字节范围而不是单独的 .ts 文件时,似乎仍然存在相同的问题:
ffmpeg - 如何使用 ffmpeg 录制视频、音频和压缩相同的视频,以便可以在单个命令行中完成这两项任务
我新使用“ffmpeg”。我已经压缩了存储在目录中的视频,然后我知道我们可以使用 ffmpeg 一次进行“压缩和录制”。我通过使用以下命令进行了尝试,但这也无法记录。任何人都请帮我解决。提前致谢。
我尝试使用此命令“ffmpeg -f gdigrab -framerate 10 -i desktop out.mpeg”,这会给出错误,例如“未知输入格式:'gdigrab'”。
我想要应该“压缩实时录制视频”并将其存储在文件夹或数据库中的结果。
android - 如何防止proguard收缩模块库?罐
我有我导入到我的项目的fishwjy视频压缩器库,当我在调试模式下运行代码压缩视频时一切正常,但是当我在发布模式下构建apk后运行视频压缩时出现错误,这是proguard的问题吗?我该如何解决这个问题?,以及如何让模块远离 proguard?
我的 build.gradle
我的proguard规则
这是错误,我进入了发布模式
video-streaming - 是否有一种视频压缩算法支持比其他算法更多地压缩视频帧的特定区域?
假设,作为优化步骤,一些视频附加了元数据,指示当时最令人兴奋的事情发生的区域(例如,矩形)。由于用户将专注于该地区,他们不太可能注意到其他地方的质量下降。因此,从带宽的角度来看,流式传输视频可能是有利的,这样有趣的区域是高质量的,而周围的区域只是平均质量。
我想知道它是否像对某些质量频段进行压缩一样简单,然后再为更高质量的频段进行压缩。当帧被发送时,来自感兴趣区域内的像素从较高质量传输,而来自外部的像素从较低质量传输。但我知道这是对视频压缩工作方式的过度简化 - 对于时间压缩,只有当像素值从一帧到下一帧的变化足够大时才会传输像素值,这可能会干扰上述过程。此外,我不知道进行两次压缩是否会影响流媒体性能,与正常的网络延迟相比,额外的延迟是否会微不足道。
因此:是否有一种视频压缩算法可以比其他算法更多地压缩视频的选择性(和更改时间)区域?