Questions tagged «ffmpeg»

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

1
如何使用ffmpeg尽可能多地保留RGB颜色将一系列PNG文件转换为视频容器?
我有950个PNG文件,它们打算成为38秒视频轨道中的单独帧,每秒25帧。除了序列号之外,文件名是相同的,这在这种情况下是惯常的。 我希望生成一个广泛支持格式的容器,理想情况下WebM,如果可以满足所有条件,或者MPEG-4,例如,现代浏览器支持的编解码器,用于播放,从这一系列的PNG图像我有。问题在于颜色被移位并且解码视频中的背景颜色不再与从PNG图像中的背景颜色采样的相同RGB三元组匹配。这会导致视频在我嵌入视频的HTML页面上的预期背景中显示出来。 我试过这么简单: ffmpeg -f image2 -i image%03d.png output.webm 这确实给了我一个装在WebM容器中的25 fps VP9视频轨道。 PNG图像是动画风格,具有纯色背景和简单的形状,为前景设置动画。它们似乎是未标记的颜色(这就是Adobe Bridge告诉我的,我认为这意味着没有嵌入的颜色配置文件或对它的引用)。我上面尝试的问题是,即使容器在Chrome中播放,从PNG图像采样的RGB三元组#ED4D56的背景颜色也不会与正在播放的视频中出现的背景颜色在感知上匹配。 这是RGB到YUV(编码)到RGB(回放)颜色转换的不可避免的副作用吗?有什么方法可以缓解这种情况吗?我并不坚持使用RGB对视频轨道中的帧进行编码,我认为YUV很好,只要现代浏览器播放这些帧时,在解码和显示时会产生相同的(在可忽略的误差范围内)RGB三元组。 (多个)帧。 我的问题是,使用什么命令行ffmpeg可以尝试缓解这个问题?我愿意切换视频编解码器,像素格式,在ffmpeg中启用颜色管理(如果存在)等。

1
FFmpeg - 不能将YADIF过滤器与CONCAT一起使用
我正在尝试在MacOS中使用FFMPEG去交错视频,同时加入保险杠无效。有任何想法吗? 这是我正在使用的命令: ffmpeg -i //volumes/DMR_30/BUMPERS/YUYU_BUMPER_5994_V2.mov -i //Volumes/DMR_38/SUMMERSIDE_38/SNOW/SNOW_SUBS_1080p_25PAL.mov\> -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v][0:0]yadif=0:-1:0; [a]" \[base] -map "[v]" -map "[a]" -pix_fmt yuv422p -r 25 -codec:v libx264 -x264opts "keyint=48:min-keyint=48: no-scenecut" -s 1920:1080 -aspect 16:9 -vb 40M -minrate 40M -maxrate 40M -bufsize 40M -acodec aac -strict -2 -ab 320k ~/desktop/CONCAT+TEST.mp4 这是我得到的输出: ffmpeg …

1
ffmpeg:找不到文件,但是显然可以访问
我正在犯一些非常愚蠢的错误,或者我偶然发现了一个非常奇怪的错误。我正在bash中,我想使用ffmpeg将.flac转换为.mp3。运行 ffmpeg -i 3\ -\ Thirty\ Seconds\ to\ Mars\ -\ Rescue\ Me.flac 3\ -\ Thirty\ Seconds\ to\ Mars\ -\ Rescue\ Me.mp3 会导致3 - Thirty Seconds to Mars - Rescue Me.flac: No such file or directory,尽管stat和ls都显示该文件具有当前用户的读取权限,我什至可以使用来查看其内容less。 我怀疑文件名有问题,所以我将文件重命名为asdf.flac,可以正常工作,但ffmpeg -i asdf.flac asdf.mp3仍然给我asdf.flac: No such file or directory。 为了排除权限问题,我已经做到chmod -R 777 .了使目录和所有文件在世界范围内可读写,但仍然没有机会。 有什么想法可能导致ffmpeg找不到文件,尽管它显然在那里?

1
ffmpeg相关问题
我正在使用以下命令进行视频转换ffmpeg,并且工作正常: ffmpeg -i 'in.wmv' -s 1280x720 -b 256 -ar 44100 -ab 64k -ac 2 'output.mp4' 然而,当我在玩转换后的文件到播放器图腾然后属性部分音频比特率和视频比特率被显示为N / A。该音频比特率和视频比特率必须分别为256和64K。
1 ffmpeg 

2
使用FFMpeg有条件地编码或复制音频流
我正在尝试批量转换一组视频文件,其中一些具有aac音频,一些具有wav,原始PCM或其他类似格式。 我正在寻找一种方法来: 复制音频流(如果已经是AAC(-c:a copy)) 如果尚未将音频流重新编码为aac(-c:a aac -b:a 160k),则将其重新编码为aac 我当前的方法是手动识别哪些文件没有aac音频流并分别进行转换,但是最好将所有文件一起转换。 有没有办法像下面这样将音频的条件语句插入到FFMpeg命令中? for f in *.mkv; do ffmpeg -i "$f" -c:v libx264 -c:a [some magic here] "${f%.*}_new.mkv" done
1 linux  audio  ffmpeg 

1
ffmpeg剪切,将MKV编码为MP4并刻录字幕
我想剪切MKV的一部分并将其编码为MP4,同时还要刻录字幕。 但是我不知道如何一口气完成所有操作(相关问题),所以我一步一步地尝试了。 当我第一次剪切MKV,然后将其编码为MP4时,它不会对字幕进行硬编码。剪切的MKV容器仍保留字幕。我尝试了内部和外部字幕。 测试1(失败):直接从MKV字幕 ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv ffmpeg -i test.mkv -vf subtitles=test.mkv test2.mp4 测试2(失败):外部字幕 ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv ffmpeg -i test.mkv -map 0:s:0 subs.ass ffmpeg -i test.mkv -vf subtitles=subs.ass test2.mp4 当我第一次将整个MKV编码为MP4时,它成功地对字幕进行了硬编码,然后可以将其剪切。但这对于大型源文件会花费更长的时间:( 测试3(成功) ffmpeg -i konosuba.mkv -vf subtitles=konosuba.mkv test.mp4 ffmpeg -i test.mp4 …

1
如何使这个简单的ffmpeg命令在Automator中工作?
我无法使一个简单的Automator Shell脚本正常工作。我正在尝试获取ffmpeg命令行,以在拖放到应用程序图标上的文件上运行任务。 这是我所做的: 启动Automator.app 使用服务接收任何应用程序中的文件或文件夹创建新服务 添加了“运行Shell脚本”操作 应用了以下脚本: 将我的工作流另存为服务和应用程序 当我将文件拖放到应用程序时,我得到以下信息: 当我在Automator中运行工作流程时,我得到以下信息:

1
通过PowerShell使用FFmpeg-正确在参数中使用破折号和引号
很长时间以来,StackExchange一直是我寻找答案的第一位-不幸的是,我找不到针对当前问题的任何(有效的)解决方案,因此我打开了这个问题。 我想做的是创建一个PowerShell脚本(我对PS还是很陌生的),以通过FFmpeg自动处理文件列表(即与脚本共享同一文件夹的所有MP4文件)。 TL; DR:我无法工作:使用-vf "iamafilterargument"包含变量的过滤器命令()。 手写到cmd时我要尝试执行的命令是: ffmpeg -i <input_file> -an -c:v libx264 -crf 16 -preset veryslow -vf "drawtext=fontsize=12:fontfile=/Windows/Fonts/arial.ttf:text='<input_filename>':bordercolor=black:borderw=2:fontcolor=white:x=(w-tw)/2:y=5:alpha=0.5" <output_filename>.mkv 通过cmd,它可以按预期工作。现在我的PS脚本: $encoder = "C:\FFMPEG\ffmpeg.exe" $dateien = Get-ChildItem .\*.mp4 $dateinamen = ForEach-Object {$dateien.BaseName} for($i=0; $i -lt $dateien.Length; $i++){ $filterbefehl = " -i " + $dateien[$i] + " -an -map_metadata -1 -vf=`"drawtext=fontsize=12:fontfile=/Windows/Fonts/arial.ttf:text=" + …

1
使用FFMpeg进行音频切片的最佳参数
我打算使用Perl通过FFMpeg从媒体文件中提取音频。现在,据我所知,FFMpeg需要很多参数,例如比特率等,它用于提取音频。因此,对于一个特定的视频,我们可以通过测试来提供参数,而FFMpeg会为我们提供音频。但是,当我需要将其应用于大量媒体文件时,我需要一些最佳参数,这些参数将始终从所有人中提取出不错的音频。 因此,谁能指导我确保几乎所有媒体文件都能获得良好音频提取的默认参数是什么?
1 audio  video  ffmpeg  perl 

2
如何在视频周围放置边框以防止内容剪切
我的电视很旧,由于某种原因,它会将某些内容从左边缘切掉。我正在尝试在视频上显示左边缘对于演示至关重要的视频。 是否可以通过某种方式(使用iMovie / ffmpeg / Gimp等)缩小视频大小并用粗黑边框包围它,以便在电视上观看而不是在内容上观看时会剪切该边框? 换句话说,我想从这里开始: 对此: 但是我想用视频(mp4格式)来做到这一点。

4
如何将用于收听目的的22.05 kHz语音音频材料增强到44.1 kHz?
我在网络上找到了一部非常有趣的广播小说,我想引起我的一位熟人的注意。不幸的是,音频材料的质量很差,只有22.05 kHz和1声道单声道。但是,它不包含音乐,仅包含语音。一般来说,这听起来像是一台旧收音机或一台旧电话。在将其发送给我的朋友之前,我想对其进行一些增强。我应该使用什么软件,并且应该对音频文件进行哪些操作才能使其听起来更好?

0
FFmpeg drawtext限制最大打开字体文件数
我正在尝试使用FFmpeg从使用drawtext(filter_complex使用)注释/写入文本的图像创建视频。 如果drawtext过滤器数量超过500,则会收到错误消息: 找不到适合家庭Sans的有效字体 FFmpeg显然对可以同时打开的字体文件数量有限制。 如何drawtext工作-为什么一个新的文件打开每个过滤器,即使所有的字体文件是一样的吗? 有什么办法解决这个问题?通过增加可以同时打开的文件的限制? drawtext文档有一个选项fontconfig-如何使用?在上述情况下有帮助吗? 完整的命令 ffmpeg -f concat -i input.txt -i input_audio.wav -y -r 10 -filter_complex_script filterCommand.txt -crf 22 -threads 2 -preset ultrafast output_video.mp4 -filterCommand.txt-文本文件包含drawtext=enable='between(n,0,0)':fontsize=10:fontfile='C\:/‌​windows/Fonts/calibr‌​ib.ttf':fontcolor='0‌​x000000逗号分隔-重复509次DrawText有效 509次,失败510次。 控制台日志 ffmpeg version N-81989-g7845c13 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx …


1
如何使用ffmpeg或mencoder提取具有特定纵横比的视频部分?
我从电视上有一些录音。电影都在4:3中,但广告在16:9中。我的输入格式是mpeg 2传输流。我想将我的电影转换为具有h264视频和aac音频的mp4,但要从视频中以16:9宽高比删除所有帧。声音也应在匹配的帧处删除。使用ffmpeg可以轻松将mts转换为mp4,但是如何提取纵横比为4:3的帧呢? 将MTS转换为mp4: ffmpeg -i input.mts -b:v 6000k -b:a 256k -vcodec libx264 -acodec aac -o output.mp4 我在使用ffmpeg版本0.10.3和MEncoder 1.1-4.5.4的gentoo Linux下

1
批处理命令以按顺序将多个视频和字幕文件混合到不同的文件名
在Windows 10上,有什么简单的命令可以使用ffmpeg将多个视频和字幕文件按顺序多路复用到不同的顺序文件名?我在手动做 ffmpeg -i "moviename part 1.mp4" -i "moviename part 1.srt" -c copy "temp01.mkv" ffmpeg -i "moviename part 2.mp4" -i "moviename part 2.srt" -c copy "temp02.mkv" ffmpeg -i "moviename part 3.mp4" -i "moviename part 3.srt" -c copy "temp03.mkv" ffmpeg -i "moviename part 4.mp4" -i "moviename part 4.srt" -c copy "temp04.mkv" …

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.