Questions tagged «ffmpeg»

媒体工具,支持多个编解码器,过滤器和容器。在询问涉及FFmpeg工具的问​​题时,请包括实际命令和完整的控制台输出。一种简单的方法是在命令中添加`-report`并粘贴生成的日志文件的内容。要获得CLI的帮助,请仅使用ff *二进制文件-ffmpeg,ffprobe,ffplay。有关API使用的帮助,请在Stack Overflow上发布。


2
从mp4中提取WAV,同时保持最高质量
我仔细阅读了文档,可以使用以下命令wav从mp4文件中提取文件: ffmpeg -i my_video.mp4 output_audio.wav 但是,如何控制wav文件的质量?(例如,说我想尽可能地保留原始音频的质量)
39 ffmpeg 

6
在FFmpeg for DASH中修复关键帧的正确方法是什么?
在为DASH回放调节流时,所有流中的随机访问点必须位于完全相同的源流时间。这样做的通常方法是强制使用固定的帧速率和固定的GOP长度(即每N帧使用一个关键帧)。 在FFmpeg中,固定帧速率很容易(-r NUMBER)。 但是对于固定的关键帧位置(GOP长度),有三种方法...哪种是“正确的”?FFmpeg文档对此非常含糊。 方法1:弄乱libx264的参数 -c:v libx264 -x264opts keyint=GOPSIZE:min-keyint=GOPSIZE:scenecut=-1 是否应该关闭或关闭场景切换似乎引起了一些争论,因为不清楚在场景切换发生时是否重新启动关键帧“计数器”。 方法2:设定固定的GOP大小: -g GOP_LEN_IN_FRAMES 不幸的是,这仅是在FFMPEG文档中记录的,因此该论据的效果还不清楚。 方法3:每N秒插入一个关键帧(也许吗?): -force_key_frames expr:gte(t,n_forced*GOP_LEN_IN_SECONDS) 这是明确记录的。但是,仍不清楚是否在每个关键帧之后都重新启动“计时器”。例如,在预期的5秒GOP中,如果scenecutlibx264在3秒内注入了一个关键帧,那么下一个关键帧是5秒后还是2秒后? 实际上,FFmpeg文档在此-g选项和选项之间进行了区分,但并未真正说出上述两个选项之间的差异最小(显然,-g这将需要固定的帧速率)。 哪个是对的? 似乎这-force_key_frames将是更好的选择,因为它不需要固定的帧速率。但是,这要求 符合H.264中的GOP规范(如果有) 保证将有一个固定节奏的关键帧,而与libx264 scenecut关键帧无关。 如果-g不强制使用固定的帧速率(-r),这似乎也行不通,因为无法保证ffmpeg使用不同编解码器参数的多次运行将在每个分辨率中提供相同的瞬时帧速率。固定帧速率可能会降低压缩性能(在DASH方案中很重要!)。 最终,该keyint方法似乎像个hack。我希望这不是正确的答案。 参考文献: 使用-force_key_frames方法的例子 使用keyint方法的例子 FFmpeg高级视频选项部分

1
如何指定音频和视频比特率
我有一个包含以下媒体信息的mov文件: Stream 0 Type: Video Codec: H264-MPEG-4 AVC (part 10)avc1 Language: English Resolution: 1280x720 Frame rate: 24 Stream 1 Type: Audio Codec: MPEG AAC Audio (mp4a) Language: English Channels: Stereo Sample rate: 44100HZ 我想使用FFmpeg将MOV文件转换为AVI文件。 我知道我可以指定音频和视频的比特率(来自本文): ffmpeg -i InputFile.mpg -ab 128 -b 1200 OutputFile.avi 但是对于我来说,如果我想保持原始质量,音频和视频的比特率应该是多少?


4
使用图像文件作为输入的ffmpeg输入选项的说明
我有一些图像,我想用ffmpeg制作动画gif。这些图像的名称为: 837_1.png 838_1.png ... 我试图弄不懂ffmpeg 的-i命令行选项,但是我遇到了一些问题而崩溃了。 如果我未指定任何内容,则要求我替换文件: ffmpeg -i * -vcodec libx264 out.mp4 ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= …
34 ffmpeg 

2
如何使用ffmpeg从视频中提取字幕?
我正在尝试从视频中提取字幕作为.srt文件,我使用了以下命令: FFMPEG -i mytestmovie.mkv -vn -an -codec:s:0.1 srt sub.srt 但是,由于“无法识别”选项出现错误,codec:s:0:1 因此,您能告诉我确切的命令以及如何将字幕提取为.srt视频中的文件吗?

1
为什么Quicktime无法播放FFmpeg编码的电影文件?[重复]
这个问题已经在这里有了答案: 从图像产生的视频仅在VLC中播放,而没有其他播放器 (1个答案) 5年前关闭。 当我尝试打开电影时,我只是使用以下命令创建的: ffmpeg -pattern_type glob -i '*.JPG' -s 640x480 movie.mp4 我从QuickTime收到一个错误: The document “movie.mp4” could not be opened. The file may be damaged or may not be a movie file that is compatible with QuickTime Player. 我对从iSight时间间隔生成的一组图像使用了相同的命令,但在这种情况下,以上图像均来自数码相机。分辨率要高得多,但我将其缩放为640x480,但在输出中看不到任何问题的提示: Input #0, image2, from '*.JPG': Duration: 00:00:04.76, start: 0.000000, bitrate: …

3
如何使用FFMPEG从一系列1000的PNG图像创建未压缩的AVI
如何使用FFMPEG从一系列1000幅PNG图像中创建未压缩的AVI? 我使用以下命令将input.avi文件转换为一系列PNG帧: ffmpeg -y -i input.avi -an -vcodec png -s 1024x768 pic%d.png` 现在,我需要知道如何从所有这些PNG帧中制作未压缩的AVI视频。我尝试了这个: ffmpeg -i pic%d.png -y -f avi -b 1150 -s 1024x768 -r 29.97 -g 12 -qmin 3 -qmax 13 -ab 224 -ar 44100 -ac 2 test.avi 但是,相对于原始AVI,最终的视频质量下降了很多。
31 linux  video  ffmpeg  png 

6
使用单个命令连接多个WAV文件,无需额外文件
我想使用FFMPEG将多个WAV文件连接成一个WAV文件。 我使用了以下命令,它生成了所需的文件。 命令: ffmpeg -f concat -i mylist.txt -c copy output.wav 档案: #mylist.txt file '1.wav' file '2.wav' file '3.wav' file '4.wav' 但是你可以看到问题是我必须创建一个文本文件来指定要连接的WAV文件列表。 我可以做所有这些任务,但我更喜欢一个看起来像的命令 ffmpeg -i 1.wav -i 2.wav -i 3.wav -i 4.wav output.wav 要么 ffmpeg -i "concat:1.wav|2.wav|3.wav|4.wav" -c copy output.wav 我已经尝试了这两个简单的命令,但它们只返回声音1.wav 请帮我写一个命令(或纠正上面的两个命令),以达到预期的效果。 请不要建议其他媒体编码器/编辑器,我只想使用FFMPEG,因为它已经安装并在其他地方使用。

3
如何使用Opus编解码器编码音频?
Opus音频编解码器看起来是有史以来压缩音频最好的东西。最近,最新的ffmpeg和VLC播放器已支持它。但是,没有关于如何使用它实际编码媒体的文档。有人可以将我定向到所说的文档,最好是带有ffmpeg标志和用法的细节吗?我有很多有声读物占用太多空间,而Opus看起来是保留它们的理想格式。

3
使用ffmpeg减少背景噪音并优化音频剪辑中的语音
我从视频文件中提取音频片段以进行语音识别。这些视频来自移动/其他手工设备,因此包含很多噪音。我想减少音频的背景噪音,以便清晰传达给语音识别引擎的语音。我正在使用ffmpeg来完成所有这些工作,但仍停留在降噪阶段。 到目前为止,我已经尝试过以下过滤器: ffmpeg-20140324-git-63dbba6-win64-static\bin>ffmpeg -i i nput.wav -filter_complex "highpass=f=400,lowpass=f=1800" out2.wav ffmpeg -i i nput.wav -af "equalizer=f=1000:width_type=h:width=900:g=-10" output.wav ffmpeg -i i nput.wav -af "bandreject=f=1200:width_type=h:width=900:g=-10" output.wav 但是结果非常令人失望。我的理由是,由于语音低于300-3000 Hz的范围,我可以过滤掉所有其他频率以抑制任何背景噪声。我想念什么? 另外,我了解了可用于语音增强的weiner过滤器,发现了这一点,但不确定如何使用。


3
提高ffmpeg创建的jpg的质量
我正在使用ffmpeg从IP摄像机获取mjpeg提要,并将其转换为一系列静止的jpeg图像。这是我正在使用的命令: ffmpeg -i http://xxx:xxx@xx.xx.xx.xx/vid.mjpg -f image2 -vcodec mjpeg %05d.jpg 有谁知道使用ffmpeg创建静止图像时指定jpg压缩级别的方法?
29 ffmpeg 

4
ffmpeg在命令行上使用ffmpeg加入两个mp4文件
我可以使用以下命令成功加入多个文件: ffmpeg -f concat -i input.txt -codec copy output.mp4 该命令的唯一问题是您需要从名为input.txt的文本文件中读取具有以下内容的文件路径: file 'C:\Users\fabio\Downloads\Super\Sharks\01.mp4' file 'C:\Users\fabio\Downloads\Super\Sharks\02.mp4' file 'C:\Users\fabio\Downloads\Super\Sharks\03.mp4' 有没有一种方法可以实现相同的目标而不必从文件中读取文件路径?我没有运气就尝试了以下方法: ffmpeg -f concat -i file "C:\a\b\01.mp4" file "C:\a\b\02.mp4" -codec copy output.mp4 ffmpeg -f concat -i "C:\a\b\01.mp4" "C:\a\b\02.mp4" -codec copy output.mp4 我必须使用其他命令吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.