问题标签 [video-conversion]
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++ - 如何以编程方式使用 ffmpeg 从 mp4 中提取基本视频?
我已经开始学习 ffmpeg 几个弱点。目前,我可以使用 h264/AVC 编解码器将任何视频转码为 mp4。主要方案是这样的:
实际代码如下:
在该过程结束时,我得到了我想要的具有所需编解码器和容器和分辨率的文件。
我的问题是,在我们项目的一部分中,我需要在文件中获取基本视频流。比如example.264。但是,我不能在不创建AVFormatContext的情况下添加流。据我所知,我无法创建 AVFormatContext 因为 264 文件没有容器,它们只是原始视频?
我已经尝试了使用fwrite的解码编码.c 的方式。但是,该示例适用于 mpeg-2 编解码器,当我尝试将该代码改编为 H264/AVC 编解码器时,我从 mediainfo 收到“浮点除以零”错误,此外,视频的某些属性没有显示(例如作为 FPS & 游戏时间 & 质量因素)。我认为这与示例在代码末尾添加的“endcode”有关。它适用于 mpeg-2。( uint8_t endcode[] = { 0, 0, 1, 0xb7 }; )
无论如何,我很想为这项任务找到一个起点。我已经通过使用互联网资源(ffmpeg 很少且已过时)设法走到了这一步,但现在我有点卡住了。
php - 如何做一个FFMPEG队列
如果我加载一个 FFMPEG 转换,然后是另一个,然后是第三个,它会尝试同时完成所有 3 个,还是会自动创建一个队列?
如果没有,创建队列的最佳方法是什么?
video - 使用 ffmpeg 转换真实媒体
我有许多旧的硬壳 Real Media 文件需要转换,并希望编写一个脚本来批处理它们。我可以使用 FFMpegX 进行 Real Media -> AVI 转换,但是当我尝试使用 ffmpeg 复制转换时,它总是会出现以下错误:
这可能与这些 Real Media 文件的时髦格式有关:
有没有人有关于如何找出 FFMpegX 正在做什么以使转换工作的任何提示,或者是使用 ffmpeg 执行此操作的更好方法?
编辑
包括 ffmpeg 命令(感谢@Mondain 教我有关流映射的知识!)和输出:
命令:
输出:
node.js - fluent-ffmpeg 生成不正确的帧率
我在将图像转换为视频时遇到了一个奇怪的问题。我正在为 node.js 服务器使用出色的 fluent-ffmpeg 模块。我有 179 张 jpg 图像,我希望将其转换为 30fps 的视频(应该是 6 秒左右)。我已经使用以下 ffmpeg 命令成功地做到了这一点:
ffmpeg 检查时会输出以下内容:
现在,我正在尝试用 fluent-ffmpeg 做同样的事情:
应该完全一样吧?但这是我得到的:
现在最有趣的是,虽然两者都是由同一组图像制作的,并且都具有相同的帧速率,但使用 fluent-ffmpeg 制作的图像的持续时间为 7.20 秒,比第一个长了整整 1.20 秒。比较这两个视频后,虽然 fluent-ffmpeg 报告了 30,但它似乎实际上是 25fps。
.withVideoCodec, .withFps
请注意,我已经尝试使用方法(
如果这里有人对此模块有经验和/或有任何建议,将不胜感激!
video - 使用 gpu 使用 ffmpeg 转换视频
我有视频共享网站并使用 ffmpeg 转换视频,但转换需要很多时间。怎么做又快又安全?我认为当 ffmpeg 与 GPU 匹配时,它对我有帮助,但我没有找到很好的使用参考。哪个应用程序或参考可以帮助我获得良好的性能。
ffmpeg - 从网络摄像头编码未压缩的 avi
我必须为我正在做的项目录制视频。其中两个是 USB 摄像头,另一个是 IP 高架摄像头。所有三个都连接到笔记本电脑。录制视频后,我需要能够在编辑器中打开它们(不是特别用于编辑,而是用于建模其中需要时间线的东西)。我选择了 Sony Vegas Pro 作为我的编辑器。我已经能够通过以下命令使用 gstreamer 录制未压缩的 avi:
我不得不将帧率设置为 10,因为我使用了两个 USB 摄像头,而 USB 控制器的带宽无法适应两者的帧率 30。我不关心文件中的音频,所以我不抓取音频。同样,在编码时我也不关心音频。这是未压缩的原始 avi。我无法在 Sony Vegas Pro 中打开它。我相信我需要使用将由 Sony Vegas Pro 打开的编解码器对这个未压缩的 avi 进行编码(我不知道 Sony 喜欢哪种编解码器,所以我可能会尝试不同的编解码器,直到其中一个打开)。
为了编码这个视频,我有几个选择:mencoder、ffmpeg、gstreamer。但我无法弄清楚如何使用这些工具来获得我想要的东西。理想情况下,我只想“插入”一个编解码器,其他设置保持不变。我并不真正关心生成的视频需要多少空间,因为视频的长度不会超过 3 分钟,而且我有可用空间,所以无损编解码器也可以工作。我相信索尼会读取 mpeg avi 的,所以如果我能得到它,那就太好了。
感谢阅读,感谢所有帮助。
windows-phone-8 - Windows Phone 8 上的视频处理库
Windows phone 8 上有视频处理库吗?我正在尝试将非常短的视频从一种格式转换为另一种格式。根据我的搜索,FFMPEG 不适用于 windows phone:Using FFmpeg in .net?
Windows Phone 上的视频处理是否有 SDK 支持?
node.js - 使用 Node.js 模块 fluent-ffmpeg 转换视频,但我的文件最终损坏
我正在编写一个基于节点的媒体编码工具,并找到了一些可以帮助我做到这一点的好节点包,但是输出文件要么完全损坏,要么只编码一半的视频。
我使用的主节点包是fluent-ffmpeg,我正在尝试使用以下代码:
源视频没有问题,因为我通常使用 FFmpeg 使用以下命令行字符串对其进行编码(我从批处理文件中运行它):
有什么想法我在这里做错了吗?
node.js - 使用 nodejs 和 ffmpeg 进行实时视频转换
我正在尝试使用 ffmpeg 和 nodejs 创建非常简单的服务器端视频转换。到目前为止,我有 2 台 UDP 服务器,一台用于转换视频输入,另一台用于侦听转换后的视频并将其传递给 websocket。
我创建了一个 UDP 服务器,流来自的地方,通过调用 ffmpeg 转换视频输入。然后第二个 UDP 服务器获取转换后的视频并将其传递给 websocket 服务器以将视频流式传输到浏览器。
问题可能出在 ffmpeg 中。我得到的错误是
代码如下所示:
ffmpeg - 将压缩的 swf 转换为 mp4
我正在寻找一个将 swf 无损转换为 mp4 的批处理脚本。我尝试同时使用 ffmpeg 和 handbrake,但显然 swf 已被压缩,我无法以这种方式转换它们。
我知道我 acn 使用像 xilisoft 这样的工具,但我有 3000 多个视频,需要自动运行它。是否有脚本/算法可以帮助我自动化这个过程?