问题标签 [ffmpeg]
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.
mp3 - 将 MP3 裁剪到前 30 秒
原始问题
我希望能够从现有的 MP3 文件生成一个新的(完全有效的)MP3 文件以用作预览——先试后买风格。新文件应仅包含曲目的前n秒。
现在,我知道在传递文件时我可以在n秒内“截断流”(根据比特率和标头大小计算),但这有点脏,而且是 VBR 轨道上的真正 PITA。我希望能够生成正确的 MP3 文件。
有人有什么想法吗?
答案
两者都是很好的解决方案mp3split
。ffmpeg
我选择了 ffmpeg,因为它通常安装在 linux 服务器上,也很容易用于 windows。这里有一些更好的命令行参数,用于使用 ffmpeg 生成预览
-t <seconds>
在指定秒数后斩波-y
强制文件覆盖-ab <bitrate>
设置比特率,例如-ab 96k-ar <rate Hz>
设置采样率,例如-ar 22050为 22.05kHz-map_meta_data <outfile>:<infile>
将轨道元数据从 infile 复制到 outfile
正如 Tim Farley 建议的那样,您可以复制原始轨道设置,而不是设置 -ab 和 -ar:
-acodec copy
gcc - Solaris 上的 gcc 如何找到它的库?
我正在尝试安装“quadrupel”,这是一个在 Solaris x86 上依赖 ffmpeg 的库。
我设法构建了 ffmpeg,它的库位于 /opt/gnu/lib 中,并且包含在 /opt/gnu/include 中,但是当我尝试构建 quadrupel 时,它找不到 ffmpeg 头文件。
需要哪些标志/配置才能将这两个目录包含在库和包含的正确搜索路径中?我不是一个 Makefile 黑客。
linux - 如何加入网络摄像头 FLV
我希望我的网站加入一些 FLV 文件中的网络摄像头记录(比如这个)。这需要在 Linux 上完成,无需用户输入。我该怎么做呢?为简单起见,我将使用相同的 flv 作为两个输入,希望得到一个连续两次播放相同内容的 flv。
这应该很容易,对吧?ffmpeg FAQ中甚至还有完整的代码示例。
好吧,管道似乎给我带来了问题(在我运行 Leopard 的 mac 和 Ubuntu 8.04 上),所以让我们保持简单并使用普通文件。另外,如果我不指定 15 fps 的速率,视觉部分会播放得非常快。示例脚本因此变为:
好吧,使用它可以处理音频,但我只能在第一次获得视频。这似乎是我作为 input.flv 抛出的任何 flv 的情况,包括 red5 附带的电影预告片。
a) 为什么示例脚本没有像宣传的那样工作,特别是为什么我没有得到我期望的所有视频?
b) 为什么我必须指定帧率,而 Wimpy 播放器可以以正确的速度播放 flv?
我发现加入两个 flv 的唯一方法是使用 mencoder。问题是,mencoder 似乎没有加入 flvs:
我得到一个浮点异常......
c) mencoder 有没有办法正确解码和编码 flvs?
所以目前我发现加入flvs的唯一方法,就是使用ffmpeg在flv和avi之间来回切换,使用mencoder加入avis:
d) 必须有更好的方法来实现这一点……哪一个?
e) 但是,由于帧率的问题,只有具有恒定帧率的 flvs(就像我通过facebook录制的那样)才能正确转换为 avis,但这对于我似乎正在录制的 flvs 不起作用(像这样一个或这个)。有没有办法为这些flvs做到这一点?
任何帮助将不胜感激。
video - 为什么使用 ffmpeg 从 wmv 到 flv 的某些转换失败?
一段时间以来,我一直在用这个砸我的头。我有 2 个使用 wmv3 编解码器编码的完全相同的 .wmv 文件。我使用以下命令将它们都通过 ffmpeg:
一个文件转换得很好,并给了我以下输出:
而另一个文件失败:
我看到的唯一区别是输入音频编解码器
在职的:
不工作:
有任何想法吗?
ffmpeg - ffmpeg av 库可以返回准确的 PTS 吗?
我正在使用一个使用 IBBP... GOP 序列的 mpeg 流。前 4 个 AVPackets 返回的(DTS,PTS)
值如下:I=(0,3) B=(1,1) B=(2,2) P=(3,6)
I 帧上的 PTS 看起来是合法的,但 B 帧上的 PTS 不可能正确,因为 B 帧不应显示在 I 帧之前,如其 PTS 值所示。我还尝试解码数据包并在生成的 AVFrame 中使用 pts 值,将 PTS 始终设置为零。
有什么方法可以从 ffmpeg 中获得准确的 PTS 吗?如果没有,那么同步音频的最佳方式是什么?
ffmpeg - .3gp 文件中的缩略图
有人知道如何从 3gb 视频文件中获取缩略图(静止图像)吗?第一帧或类似的东西。我正在使用 .net,但解决方案可以是任何语言(托管或本地)或第三方产品。
asp.net - Simple way to grab thumbnail of FLV in ASP.NET without changing permissions on server?
I'm looking for a simple way to grab thumbnails of FLVs in ASP.NET, without having to change any permissions/settings on the server. Ideally, nothing is installed on the server machine, but if necessary, small tools such as FFmpeg are fine.
I've tried FFmpeg using the command-line tool with Process.Start, but the same command that works in a Windows Forms application and from the command prompt does not work in ASP.NET (presumably because of permissions).
I've also tried using TAO.FFmpeg, and it seems to be working most of the time, but fails randomly, and does not start working again until the machine is restarted. Even when I use the sample code (decoder.cs), it sometimes fails when I try to open multiple videos in a single request.
If this isn't possible in a clean/straightforward way, I'm open to other suggestions.
eclipse - 在 Windows 上使用 Wascana 编译 FFMPEG
有没有人尝试过,或者成功地让 Wascana(Eclipse CDT + MinGW for Windows)在 Windows 下编译 FFMPEG。显然这是可能的,克雷格肖的网站上什至有一个教程,但我无法让它工作。
我在 FFMPEG 源代码上运行 ./configure 然后在 Eclipse 中创建一个新项目并将其指向源代码,但它不会将其识别为 Makefile 项目。我认为我需要创建一个与 MinGW 一起使用的构建器,但到目前为止我微弱的尝试都没有成功。
c# - 有人知道 FFMPEG 的一组 C# 绑定吗?
有谁知道 C# 的一组绑定来直接驱动 FFMpeg 库?我可以直接外壳到 ffmpeg.exe,但我发现很难同步/控制作为一个单独的进程。任何帮助,将不胜感激。
ffmpeg - 理解和使用 ffmpeg 设置
ffmpeg 和 libavcodec 的最佳文档在哪里?
似乎 ffmpeg 支持许多未记录的选项,很难找到一个好的参考。