Questions tagged «ffmpeg»

ffmpeg是一个免费软件项目,旨在产生用于处理多媒体数据的工具(库和程序)。

9
如何使用ffmpeg缩小视频的大小?
我如何ffmpeg通过降低质量来减小视频的大小(自然而然地尽可能最小化,但是我需要它在没有足够可用空间的移动设备上运行)? 我忘了写一件事。当视频可以使用字幕(* .srt或* .sub)时,我也希望将其转换为适合转换后的视频文件的参数。

10
如何使用grep标准错误流(stderr)?
我正在使用ffmpeg获取音频剪辑的元信息。但是我无法重复。 $ ffmpeg -i 01-Daemon.mp3 |grep -i Duration FFmpeg version SVN-r15261, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i386 --extra-cflags=-O2 ... 我检查了一下,将此ffmpeg输出定向到stderr。 $ ffmpeg -i 01-Daemon.mp3 2> /dev/null 因此,我认为grep无法读取错误流以捕获匹配的行。我们如何启用grep读取错误流? 使用nixCraft链接,我将标准错误流重定向到标准输出流,然后grep工作了。 $ ffmpeg -i 01-Daemon.mp3 2>&1 | grep -i Duration Duration: 01:15:12.33, start: 0.000000, …

8
如何使用ffmpeg将MPEG视频分割成10分钟的块?
开源或活跃的开发人员社区中经常需要在线发布大型视频片段。(聚会视频,露营,技术讲座...)既然我是开发人员,而不是摄像师,所以我不想花很多钱在高级Vimeo帐户上。然后,如何拍摄12.5 GB(1:20:00)的MPEG技术演讲视频并将其切成00:10:00的片段,以便轻松上传到视频共享站点?

3
在x265(HEVC)中重新编码视频库,而没有质量损失
我正在尝试将我的视频库转换为HEVC格式以获取空间。我在库中的所有视频文件上运行了以下命令: #!/bin/bash for i in *.mp4; do #Output new files by prepending "X265" to the names avconv -i "$i" -c:v libx265 -c:a copy X265_"$i" done 现在,大多数视频可以很好地转换,并且质量与以前相同。但是,一些质量非常高的视频(例如一张5GB的电影拷贝)质量下降-视频全部像素化。 我不确定在这种情况下该怎么办。我是否需要crf在命令行中修改参数?或者是其他东西? 问题是,我正在做批量转换。因此,我需要一种avconv可以针对每个视频自动调整需要调整的参数的方法。 更新1 我发现这crf是我需要调节的旋钮。默认CRF为28。为获得更好的质量,我可以使用小于28的值。例如: avconv -i input.mp4 -c:v libx265 -x265-params crf=23 -c:a copy output.mp4 但是,问题在于,对于某些视频,CRF值为28足够好,而对于某些视频,则需要较低的CRF。我必须通过转换大视频的一小部分来手动检查这一点。但是在批量转换中,如何手动检查每个视频?他们是否有办法avconv根据输入视频智能地调整CRF? 更新2 我发现--losslessx265 中有一个选项:http : //x265.readthedocs.org/en/default/lossless.html。 但是,我不知道如何正确使用它。我尝试以以下方式使用它,但结果却相反(视频的像素化程度更高): avconv -i input.mp4 …

4
将两个视频片段合并为一个,并排放置
我有两个视频片段。两者均为640x480,持续10分钟。一个包含背景音频,另一个包含唱歌演员。我想创建一个10分钟的视频片段,尺寸为1280x480(换句话说,我想将视频彼此相邻放置并同时播放,同时混合两个片段的音频)。我试图弄清楚如何用ffmpeg / avidemux做到这一点,但到目前为止,我还是空着。当我搜索合并时,它们都指串联。 有什么建议吗?
38 video  ffmpeg  avidemux 

5
如何将音频文件分割成多个?
我找到了一些视频,看起来像这样。 ffmpeg -i * -c:v libx264 -crf 22 -map 0 -segment_time 1 -g 1 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" -f segment output%03d.mp4 我尝试将其用于音频文件,但只有第一个音频文件包含实际音频,其他音频文件则保持沉默,除了效果很好之外,它每秒都创建一个新的音频文件。有谁知道要进行哪些修改才能使音频文件或其他可以执行相同操作的命令生效?
35 audio  ffmpeg 

2
使用开始和停止时间修剪音频文件
我有一个FFmpeg命令来修剪音频: ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3 我对此命令的问题是该选项-t需要从01:43:46开始的持续时间(以秒为单位)。我想使用开始/停止时间来修剪音频,例如在01:43:46和00:01:45.02之间。 这可能吗?
34 audio  ffmpeg  trim 

14
Bash脚本使用FFmpeg将所有* flac转换为* .mp3?
我想将所有* .flac转换为特定文件夹中的* .mp3。 这是我尝试过的,但不起作用: # change to the home directory cd ~/music # convert all *.flac files ffmpeg -i *.flac -acodec libmp3lame *.mp3 # (optional: check whether there are any errors printed on the terminal) sleep 60 如何达到目标?

5
如何获得接近完美的屏幕录制质量?
有人建议我将未经修改的X显示器的副本定向到一个文件,然后将该文件转换为通用视频文件。在Kubuntu系统上,我将使用哪些命令来执行此操作?(编辑:他说过有关在文件上附加显示端口的内容。)如果不可能,对于不依赖快速硬件的高质量屏幕录制,我最好的选择是什么? 背景:我尝试将avconv与-f x11grab和一些GUI程序一起使用。但是,无论我如何尝试,最终产生的视频要么具有伪影/模糊性,要么变得断断续续(缺少帧)。这可能是由于CPU /内存限制。 目标: 视频质量不得与直接在屏幕上看到会话明显不同,因为其目的是演示动画应用程序。 最终视频必须采用可以发送给Windows用户并可以在网络上使用的通用格式。我认为H.264 MP4应该可以使用。 该解决方案不应假定很多先验知识。我熟悉命令行和基本的Linux命令,但是我仍在学习Linux,对视频编解码器了解不多。 我已经尝试过的 到目前为止最好的命令:ffmpeg -f x11grab -s xga -r 30 -i :0.0 -qscale 0.1 -vcodec huffyuv grab.avi,然后使用将其转换为mp4 ffmpeg -i grab.avi -sameq -vcodec mpeg4 grab.mp4。 图像质量很好,但是在我的测试系统上,它落后于计算机。在较快的目标系统上,它不会滞后,但是显然会跳过帧,从而使视频不太流畅。 我仍在尝试找出如何将grab.avi文件保存到SHM,以查看是否有帮助。 使用Istanbul和RecordMyDesktop GUI记录器 简单命令:avconv -f x11grab -s xga -r 25 -i :0.0 simple.mpg使用avconv版本0.8.3-4:0.8.3-0ubuntu0.12.04.1 添加-codec:copy(失败:Requested output format 'x11grab' is …


2
在循环中使用ffmpeg时出现奇怪的错误
我有一个bash脚本,遍历查找结果并执行某些FLV文件的ffmpeg编码。在脚本运行时,ffmpeg输出似乎已中断,并且正在输出一些看起来很奇怪的错误,例如以下错误。我不知道这是怎么回事。谁能指出我正确的方向? 好像循环在不应该循环并中断ffmpeg进程时仍在运行。 具体错误是: frame= 68 fps= 67 q=28.0 00000000000000000000000000001000size= 22kB time=00:00:00.50 bitrate= 363.2kbits/s dup=1 drop=0 Enter command: <target> <time> <command>[ <argument>] Parse error, at least 3 arguments were expected, only 1 given in string 'om/pt_br/nx/R3T4N2_HD3D_demoCheckedOut.flv' ffmpeg输出中的更多详细信息: [buffer @ 0xa30e1e0] w:800 h:600 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2 [libx264 @ 0xa333240] using cpu …
23 ffmpeg 


4
通过裁剪和调整大小将视频转换为固定的屏幕尺寸
我试图自己解决这个问题,但是无数的选择让我感到困惑。 我想理想地使用ffmpeg或mencoder(或其他,但我知道我正在使用的那两个)将任何传入的视频转换为固定的屏幕尺寸。 如果视频太宽或太短,请对视频进行中心裁剪。如果大小不正确,请调整大小以使其恰好是固定的屏幕大小。 我需要的最后一件事是XVid AVI中的720x480,带有MP3音轨。 我找到了很多页面,这些页面显示了如何调整为最大分辨率,但是我需要视频精确地达到该分辨率(裁剪掉多余的部分,没有黑条)。 谁能告诉我要运行的命令行-或至少让我了解其中的大部分/大部分方式?如果需要多个命令行(运行X以获取分辨率,请执行此计算,然后使用该计算的输出运行Y),我可以编写脚本。

4
以1 FPS将PNG帧转换为视频
我有1 FPS的PNG格式的视频帧,我正在尝试使用ffmpeg将其转换为视频。 如果我做这样的事情: ffmpeg -i data/input-%4d.png data/output.mp4 我得到的视频为25FPS,这基本上是输入的非常快的内容(以1FPS捕获)。 如果我尝试: ffmpeg -i data/input-%4d.png -r 1 data/output.mp4 我得到了VLC不想播放的内容:) 现在,如果我拍摄第一个视频(即FF视频)并应用滤镜使其速度变慢(例如-filter:v 'setpts=24.0*PTS'),则可以像1 FPS视频一样播放它,但是价格当然是文件大小。我猜它正在产生一堆重复的帧。 因此,问题是如何创建具有1 FPS且实际上以该速度播放的视频?输出格式btw对我而言并不重要。

1
消除音频文件中的静音,同时留出空隙
当前,我们在外壳程序脚本中使用此命令来消除音频文件的静音: ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y 效果很好,除了它消除了所有的静音,使其余的音频被压缩在一起。 如何在每段音频之间留出两到三秒钟的同时完成此操作? 该解决方案必须非常高效,因为我们将处理大量音频,并应使用可以很容易安装在Linux和OSX上的工具,例如ffmpeg或sox。

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.