问题标签 [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.
javascript - 在 NodeJS 中压缩视频文件
我正在提高我的应用程序的性能。
我想将图像和视频压缩到最小尺寸而不会造成任何质量损失,即无损压缩。
对于图像,我使用了 imagemin包。它适用于png格式,但对于jpeg,它的效率非常低。
对于视频,我找不到任何方法来最小化视频大小而不降低分辨率并且没有任何质量损失。
android - 在“dequeueOutputBuffer()”处压缩视频时出现 IllegalStateException
我还检查了一些或更多类似的已发布问题,但没有一个得到任何令人满意的答复。
我的要求是大约压缩视频。1-2分钟。我的应用程序中的视频大小限制为 500 MB,持续时间限制为 4 分钟。
我尝试过的命令-
-i /storage/sdcard0/Videos/Lat_test.mp4 -r 20 -vcodec mpeg4 -preset ultrafast -c:a copy -tune fastdecode -strict -2 -b:v 150k /storage/sdcard0/Videos/output.mp4
-y -i /storage/sdcard0/Videos/test3.mp4 -crf 24 -vcodec mpeg4 -preset ultrafast -c:a copy -me_method zero -tune fastdecode -tune zerolatency -strict -2 -b:v 1000k -pix_fmt yuv420p /存储/sdcard0/视频/输出.mp4
还有一些在这里提到
1)https://github.com/Tourenathan-G5organisation/SiliCompressor(使用MediaCodec,而不是FFMPEG)。
2) https://github.com/lalongooo/VideoCompressor
尝试使用 Samsung Galaxy Grand GT-i9082,版本 5.0.1(已植根)时,失败并出现以下错误 -
请建议如何解决此问题。
或者please suggest any other better video compressing approach / sample / reference
,如果可能的话
我尝试过使用 FFMPEG 和 MediaCodec 进行各种视频压缩示例,但没有一个效果很好。有几个非常非常慢。休息在一些设备上失败了。
android - 三星 s5 设备中的视频压缩问题
我试图压缩视频。它在所有设备上都可以正常工作,但在三星 S5中会出现以下错误。
错误日志:android.media.MediaCodec$CodecException: Error 0xffffec77
下面有我的压缩功能
我已经预先指定了视频压缩的高度和宽度。上面的代码在另一台设备上运行良好。
android - 在android中使用silicompressor进行视频压缩不起作用
我正在尝试压缩项目中的视频,因此使用 silicompressor。但是当我将它传递给我的应用程序的目标路径时,它会挂起并且什么也不做。但它确实在我的存储中创建了一个文件夹并存储了一个视频文件,但是当我尝试播放它时,它给出了错误“无法播放视频”。该文件的大小为 24 字节。所以看看,告诉我做错了什么。
这是我的代码。
android - Android中不使用FFMPEG压缩视频的方法有哪些
我需要压缩视频并将其上传到服务器。我不想使用 FFMPEG。我参考了许多链接,但使用 FFMPEG 给出了解决方案。请建议在不使用 FFMPEG 的情况下压缩视频的想法。提前致谢。
matlab - 如何删除 MATLAB 错误“...文件正在被另一个进程使用”?
我正在 MATLAB 上做一个关于视频压缩的项目。
我的部分代码是:
我得到了错误:
使用 VideoFileWriter/step 时出错
无法启动过滤器图:该进程无法访问该文件,因为它正被另一个进程使用。
project_code 中的错误(第 129 行)
我想不出消除此错误的方法。请帮忙!
ffmpeg - ffmpeg 返回“frame_pts”作为无法识别的选项
今天早些时候,我发布了一个关于使用每个编码顺序的关键帧提取帧的问题(此处),我尝试运行答案之一中提供的命令,但 ffmpeg 返回:
拆分参数列表时出错:找不到选项
任何线索如何让 ffmpeg 识别 'frame_pts' 选项?我运行的完整命令是:
ffmpeg - 如何使用 ffmpeg 中的 extract_mvs.c 提取帧类型和运动矢量
我一直在研究获取帧类型(I、P、B)以及从 ffmpeg 的示例文件夹中的 extract_mvs.c 返回的运动矢量数据的方法。
编译后的 extract_mvs.c 文件,返回如下信息:
除了这些信息,我想输出帧类型,以便我知道 framenum = 2 是例如“B”帧。
我尝试了不同的方法,其中之一是使用单独的命令:
但是这个命令的问题是它返回的数据如下:
在coded_picture_number和framenum之间我没有什么可以联系的。前者从 0 开始计数,后者从 2 开始计数。我假设 framenum 从 2 开始,意味着这个变量的计数实际上是从 1 开始,在提取过程中它忽略了 1,因为它可能是 I 帧,因此没有运动矢量。
那么,我们如何仅使用 extract_mvs.c 来获取它提供的信息以及返回表中的帧类型。任何语法/命令方式或编辑 c 文件的提示都将不胜感激。提前致谢。
ffmpeg - 如何在 ffmpeg 的 extract_mvs.c 上用“帧类型”替换“标志”
我正在从 ffmpeg 中提取运动矢量以用于计算机视觉项目。我一直在寻找一种简单的方法来以有意义的方式提取这些信息。
在阅读不同的帖子和其他网站时,我在 FFmpeg 的示例文件夹中发现了 extract_mvs.c。我注意到在这个文件生成的数据中(在编译之后)有一个我想修改的标志列,使它打印帧类型而不是 0x0s,如下所示。
我从代码的作者那里得到了修改标志的想法。
编译后的 extract_mvs.c 文件,返回如下信息:
理想情况下,我想要实现的是:
文件中需要修改的部分显示在这里,其中mv->flags需要替换为帧类型变量。我想用指针引用 AVFrame 结构并调用 pict-type。但不确定构建模块将如何。有什么帮助吗?
javascript - 如何在 React Native 中压缩视频
尝试使用 Shahen 的 react-native-video-processing :
下面是代码:
但它会在 Android 设备中出现错误。
{ [错误:压缩错误:失败。ffmpeg 版本 3.3.5 版权所有 (c) 2000-2017 FFmpeg 开发人员使用 gcc 4.8 (GCC) 配置构建:
compatible_brands: isommp42 creation_time : 2018-03-01T08:47:13.000000Z com.android.version: 7.0 Duration: 00:00:04.07, start: 0.000000, bitrate: 3366 kb/s Stream #0:0(eng): Video : h264 (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 640x480, 3091 kb/s, SAR 1:1 DAR 4:3, 29.88 fps, 30 tbr, 90k tbn, 180k tbc (默认) 元数据: 旋转
: 90 creation_time : 2018-03-01T08:47:13.000000Z
handler_name : VideoHandle Side data: displaymatrix: 旋转 -90.00 度 Stream #0:1(eng): Audio:aac (mp4a / 0x6134706D), 48000 Hz,立体声,fltp,256 kb/s(默认)元数据:
creation_time : 2018-03-01T08:47:13.000000Z handler_name : SoundHandleStream 映射: Stream #0:0-> #0:0 (h264 (native) -> h264 (libx264))按 [q] 停止,[?]寻求帮助错误重新初始化过滤器!无法将帧注入过滤器网络:处理流#0:0转换失败的解码数据时出现内存不足错误!] framesToPop:1,代码:'EUNSPECIFIED'} 03-01 15:40:05.658 29497 29772我 ReactNativeJS:4,{ 高度:640,宽度:480 } 03-01 15:40:05.757 29497 29772 W ReactNativeJS:{ [错误:压缩错误:失败。ffmpeg 版本 3.3.5 版权所有 (c) 2000-2017 FFmpeg 开发人员使用 gcc 4.8 (GCC) 配置构建:
compatible_brands: isommp42 creation_time : 2018-03-01T08:47:13.000000Z com.android.version: 7.0 Duration: 00:00:04.07, start: 0.000000, bitrate: 3366 kb/s Stream #0:0(eng): Video : h264 (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 640x480, 3091 kb/s, SAR 1:1 DAR 4:3, 29.88 fps, 30 tbr, 90k tbn, 180k tbc (默认) 元数据: 旋转
: 90 creation_time : 2018-03-01T08:47:13.000000Z
handler_name : VideoHandle Side data: displaymatrix: 旋转 -90.00 度 Stream #0:1(eng): Audio:aac (mp4a / 0x6134706D), 48000 Hz,立体声,fltp,256 kb/s(默认)元数据:
creation_time : 2018-03-01T08:47:13.000000Z handler_name : SoundHandleStream 映射: Stream #0:0-> #0:0 (h264 (native) -> h264 (libx264))按 [q] 停止,[?]寻求帮助错误重新初始化过滤器!无法将帧注入过滤器网络:Out of memoryError while processing the decoded data for stream #0:0Conversion failed!] framesToPop: 1, code: 'EUNSPECIFIED' }
此问题的任何解决方案或任何其他在上传前压缩视频的方法。