问题标签 [avconv]
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.
audio-streaming - 使用 avconv 即时将流转换为流
我正在尝试将 flv 流转换为另一个 mp3 或 ogg 流。关键是我想在 HTML5 页面上使用 mp3/ogg 流,因为 flv 流不能用 HTML5 播放。所以,我配置了avserver.conf:
我使用的命令:
控制台输出:
它看起来像工作,但我一直在网页上得到 0 个字节http://localhost:8090/test1.ogg
。有人知道我做错了什么吗?
ffmpeg - 拆分电影,使每个 GIF 都在特定文件大小之下
问题
我想将一部长电影转换成一系列关于动画 GIF 的作品。
每个 GIF 必须小于 5MB。
有什么方法可以确定 GIF在编码时有多大?
迄今为止的进展
我可以将电影分割成单独的帧:
ffmpeg -i movie.ogv -r 25 frameTemp.%05d.gif
然后我可以使用convert
ImageMagick 来创建 GIF。但是,我找不到在运行命令之前确定可能的文件大小的方法。
或者,我可以将电影分成几块:
ffmpeg -i movie.ogv -vcodec copy -ss 00:00:00 -t 00:20:00 output1.ogv
但我无法知道,当我convert
将文件转换为 GIF 时,它是否会低于 5MB。
一个包含大量动作的 10 秒场景可能超过 5MB(糟糕!),而静态场景可能低于 5MB(不是问题,但效率不高)。
想法
我认为我想做的是将整个电影转换为 GIF,然后找到一种按文件大小拆分的方法。
查看 ImageMagick,我可以将 GIF 拆分为帧,但我看不到将其拆分为特定大小/长度的动画 GIF 的方法。
那么,这可能吗?
ubuntu - avconv 视频翻转需要很长时间,我们如何减少处理时间?
我正在尝试avconv
在 Ubuntu 上使用翻转视频。当它翻转 1 分钟的视频时,处理和转换需要 12 到 40 秒。
视频文件大小:7mb,时长:1 分钟
结果是:
所用时间为 13 秒。
jpeg - avconv 停止将 jpeg 转换为视频而没有正确的错误消息
我有一个问题,希望有人能提供帮助:我正在尝试将 287000 jpeg 转换为视频。我尝试了以下命令:
但我也尝试过没有帧率选项,结果相同:
有谁知道这是为什么?图像的格式、分辨率等都相同……但可能有些已损坏。如果这可能是停止转换的原因,是否有自动删除损坏的输入图像的选项?
ffmpeg - 无需重新编码即可旋转 mp4 视频
我正在寻找一种方法来旋转我的 Nexus 4 在我的 Debian Wheezy 系统上拍摄的视频。视频是以纵向模式拍摄的,我想将它们旋转到横向模式。优选地,旋转是命令行驱动的。
我发现了几个先前的问题,这些问题暗示了一个很好的解决方案,但我似乎无法让它发挥作用。
首先是这个问题: Rotating videos with FFmpeg
但这表明ffmpeg已过时,我应该使用avconv。我发现这个问题详细说明了前进的道路。 https://askubuntu.com/questions/269429/how-can-i-rotate-video-by-180-degrees-with-avconv
这使我使用以下命令:
然而,这非常慢(最后一次测试花了我 6 个多小时,不到 3 分钟的镜头)并且不会产生可播放的电影。我在记录输出时也收到一个错误,指出 Mb Rate > level limit。
这里重新编码有问题吗?在应用旋转之前,我是否应该先将手机中的视频重新编码为另一种更“可行”的编码?还是我错过了另一个重要的点?
java - Java:使用 avconv 命令获取视频文件的持续时间
我正在尝试使用 bash 命令使用 Java 获取视频文件的持续时间
当我刚刚在终端中输入上述命令时,终端中正好显示一个输出行,显示如下所示的持续时间:
现在我想从 Java 运行这个命令并将输出的持续时间作为字符串接收。我的代码如下:
但是,这会返回null
。因此, 的值result
被改变了,result = in.readLine())
但是,而不是实际的终端输出,result = null
被设置了。
所以in.readLine())
似乎没有接收到命令的输出,即使当我在那里输入命令时,这在终端中完美输出。
为什么 Java 不能读取这个终端输出?
video - 使用 avconv 在设定的时间从 h264 视频中获取单帧
我想使用avconv在指定时间从视频文件中获取单个图像。
我已经阅读了足够多的关于libav的内容,以为我知道自己在做什么,但还不足以真正知道。
我试过了:
以及使用 t 来避免 'frames' 参数:
并在几秒钟内传递而不是使用 hh:mm:ss.xxx 格式:
我看到的是当 ss 设置为 0(即“0”、“00:00:00.000”、“0.0”等)时,output_image 只是视频的第一帧。正如预期的那样。
ss 的任何其他值——即使是 0.0001——都会给我视频的最后一帧。
我正在使用来自 Raspbian wheezy repo 的最新 avconv。这种行为对我来说就像一个错误,但我不知道视频流的其他复杂性足以确定。
有谁知道我做错了什么?
额外的问题:我实际上想从同一个视频中获得一大堆这些图像。将命令串在一起似乎以前可以工作,即:
但我切换回单个图像来调试这个问题。假设第一个问题得到解决,这是构建此命令的最佳方法还是有更好的方法?
ffmpeg - 加快视频到图像的转换
我用
在 Python 中。它可以工作,但它会实时浏览视频文件。如何加快速度,总共获得 60 张图片,视频文件的每一秒不需要 1 分钟而是更少。