- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 FFmpeg 进行一些复杂的视频转码(例如连接多个文件)。为此,我一直在尝试使用 filter_complex,但我注意到我之前使用普通视频过滤器看到的质量略有下降。
为了仔细检查,我将我的命令归结为一个简单的转码——一个使用 filter_complex,一个只使用 vf——我已经确认复杂过滤器的输出与普通视频的输出相比明显模糊筛选。我找不到任何解释这一点的 FFmpeg 文档...有谁知道为什么会这样以及如何让 filter_complex 输出与 vf 相同质量的视频?
使用普通视频过滤器 (vf) 的命令:
ffmpeg -i input.ts -map_chapters -1 -f mpegts -an -sn -map 0:0 -vf "[in]yadif=deint=interlaced[out]" -vcodec libx264 -profile:v baseline -level 2 -b:v 800k output.ts
ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20070626 (Red Hat 4.1.2-14)
configuration: --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libfaac --enable-libvpx --enable-encoder=vorbis --enable-libvorbis --enable-libmp3lame --enable-libspeex --disable-decoder=prores --disable-decoder=prores_lgpl --disable-ffplay --disable-ffserver --disable-shared --enable-static --extra-cflags=-I/local/build/include --extra-libs=-lfdk-aac --extra-ldflags=-L/local/build/lib --prefix=/local/build/install
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip01.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:10.02, start: 0.023220, bitrate: 741 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 1:1 DAR 427:240], 604 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[libx264 @ 0x138a99e0] No 608/708 caption insertion into sei user data.
[libx264 @ 0x138a99e0] using SAR=1/1
[libx264 @ 0x138a99e0] frame MB size (54x30) > level limit (396)
[libx264 @ 0x138a99e0] MB rate (48600) > level limit (11880)
[libx264 @ 0x138a99e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
[libx264 @ 0x138a99e0] profile Constrained Baseline, level 2.0
Output #0, mpegts, to 'output.ts':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.25.100
Stream #0:0(und): Video: h264 (libx264), yuv420p, 854x480 [SAR 1:1 DAR 427:240], q=-1--1, 800 kb/s, 30 fps, 90k tbn, 30 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc57.24.102 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 300 fps=179 q=-1.0 Lsize= 1059kB time=00:00:10.03 bitrate= 864.9kbits/s speed= 6x
video:949kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 11.660099%
[libx264 @ 0x138a99e0] frame I:2 Avg QP:23.16 size: 26978
[libx264 @ 0x138a99e0] frame P:298 Avg QP:23.09 size: 3079
[libx264 @ 0x138a99e0] mb I I16..4: 44.3% 0.0% 55.7%
[libx264 @ 0x138a99e0] mb P I16..4: 1.1% 0.0% 0.5% P16..4: 28.7% 8.4% 2.1% 0.0% 0.0% skip:59.3%
[libx264 @ 0x138a99e0] final ratefactor: 22.63
[libx264 @ 0x138a99e0] coded y,uvDC,uvAC intra: 30.8% 62.8% 23.0% inter: 7.2% 14.8% 0.3%
[libx264 @ 0x138a99e0] i16 v,h,dc,p: 25% 39% 11% 24%
[libx264 @ 0x138a99e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 29% 16% 5% 6% 7% 6% 4% 5%
[libx264 @ 0x138a99e0] i8c dc,h,v,p: 45% 29% 18% 8%
[libx264 @ 0x138a99e0] kb/s:777.19
ffmpeg -i input.ts -map_chapters -1 -f mpegts -filter_complex "[0:v:0]yadif=deint=interlaced[v0];[v0]concat=n=1:v=1:a=0[cat_v]" -an -sn -map "[cat_v]" -vcodec libx264 -profile:v baseline -level 2 -b:v 800k output.ts
ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20070626 (Red Hat 4.1.2-14)
configuration: --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libfaac --enable-libvpx --enable-encoder=vorbis --enable-libvorbis --enable-libmp3lame --enable-libspeex --disable-decoder=prores --disable-decoder=prores_lgpl --disable-ffplay --disable-ffserver --disable-shared --enable-static --extra-cflags=-I/local/build/include --extra-libs=-lfdk-aac --extra-ldflags=-L/local/build/lib --prefix=/local/build/install
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip01.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:10.02, start: 0.023220, bitrate: 741 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 1:1 DAR 427:240], 604 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[libx264 @ 0x81f5200] No 608/708 caption insertion into sei user data.
[libx264 @ 0x81f5200] using SAR=1/1
[libx264 @ 0x81f5200] frame MB size (54x30) > level limit (396)
[libx264 @ 0x81f5200] MB rate (48600) > level limit (11880)
[libx264 @ 0x81f5200] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
[libx264 @ 0x81f5200] profile Constrained Baseline, level 2.0
Output #0, mpegts, to 'output.ts':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.25.100
Stream #0:0: Video: h264 (libx264), yuv420p, 854x480 [SAR 1:1 DAR 427:240], q=-1--1, 800 kb/s, 30 fps, 90k tbn, 30 tbc (default)
Metadata:
encoder : Lavc57.24.102 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream mapping:
Stream #0:0 (h264) -> yadif
concat -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
frame= 300 fps=179 q=-1.0 Lsize= 1059kB time=00:00:10.03 bitrate= 864.9kbits/s speed= 6x
video:949kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 11.660099%
[libx264 @ 0x81f5200] frame I:2 Avg QP:23.16 size: 26978
[libx264 @ 0x81f5200] frame P:298 Avg QP:23.09 size: 3079
[libx264 @ 0x81f5200] mb I I16..4: 44.3% 0.0% 55.7%
[libx264 @ 0x81f5200] mb P I16..4: 1.1% 0.0% 0.5% P16..4: 28.7% 8.4% 2.1% 0.0% 0.0% skip:59.3%
[libx264 @ 0x81f5200] final ratefactor: 22.63
[libx264 @ 0x81f5200] coded y,uvDC,uvAC intra: 30.8% 62.8% 23.0% inter: 7.2% 14.8% 0.3%
[libx264 @ 0x81f5200] i16 v,h,dc,p: 25% 39% 11% 24%
[libx264 @ 0x81f5200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 29% 16% 5% 6% 7% 6% 4% 5%
[libx264 @ 0x81f5200] i8c dc,h,v,p: 45% 29% 18% 8%
[libx264 @ 0x81f5200] kb/s:777.19
最佳答案
我已经想通了。这是因为默认缩放算法从 bicubic
至bilinear
.我所要做的就是添加 flags=bicubic
现在看起来一样了。
关于video - FFmpeg: "filter_complex"导致质量比 "vf"差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40603152/
我有这两个过滤器,它们分别工作得很好,但我似乎无法将它们结合起来。 覆盖不透明度 ffmpeg -i test.mp4 -i bar.png -filter_complex "[1:v]format=
我在喂fls.txt进入 ffmpeg -i并申请 concat和加速。fls.txt file 'input1.mp4' file 'input2.mp4' file 'input3.mp4' 一口
我在合并这两个命令时遇到了麻烦,如果有人可以帮助我将顶部的转置和水印合并到第二个命令,我将不胜感激。我尝试了一些事情,例如: ffmpeg -i .\test1.flv -i .\test2.flv
我(几乎)能够应用基于 2 个动画高斯噪声视频的置换,但我遇到了重影图像的问题。 A picture is worth a thousand words . 在这里,您有一个复制问题的脚本: ffmp
如果我定义一些虚拟 filter_complex 说: [3:v]split=2[3_1][3_2] [3_1]format=yuv420p,scale='640:360',setsar='1/1'[
我有一个视频和一个音频流(为简单起见)并尝试将它们组合起来(以便结果在最短输入结束的地方结束)。这个定义有效,但结果输出与最长的输入一样长。我需要最短的。 [video][audio:a]concat
有人可以帮助解决消失的音频吗? video_2.mp4 logo3.mp4 - 有音频 ffmpeg -i video_2.mp4 -i logo3.mp4 -filter_complex \ "co
ffmpeg -i foo.mp4 -filter_complex "fade=d=0.5, reverse, fade=d=0.5, reverse" output.mp4 可用于淡入淡出 foo.
我无法在 filter_complex 中显示具有特定持续时间的图像。 我必须使用 filter_complex,但出现错误: “没有这样的过滤器:‘持续时间’” 那么我需要使用哪个过滤器? ffmp
我使用这个命令。 ffmpeg -i Input.mp4 -i logo.png -c:v h264_nvenc -filter_complex "[0:v]scale=-1:720[video];[
下面,我有两个 ffmpeg 命令 (1, 2) 要组合成 (3)。 添加来自 1.mp3 的声音和 1.3gp进入静音 1.mp4 代码可以正常工作: ffmpeg -i 1.mp3 -i 1.3g
我想要这样的输出视频,其中使用 ffmpeg -filter_complex 机制创建输出音频, /usr/local/Cellar/ffmpeg/3.2.2/bin/ffmpeg -i /uploa
我在尝试着 在视频底部嵌入字幕和 在视频的右上角添加图像/文本水印和 在顶部和底部添加文本 在同一命令中在视频的顶部和底部添加彩色填充 以下是我可以得到一些工作的命令。这是在底部而不是顶部添加填充。它
在使用带有多个输入和多个输出的 concat 和crop 时,我遇到了问题。这里是 ffmpeg -y \ -i input_1.mp4 \ -i input_2.mp4 \ -i input_3.m
我正在尝试将两个 ffmpeg 操作组合成一个。 目前我有两组 ffmpeg 命令,它们首先从现有图像生成视频,然后再次通过 ffmpeg 运行该视频以应用水印。 我想看看是否可以将这些组合成一个操作
假设我想使用特殊字体、颜色等将视频中的时钟叠加到大约 30 分钟长的视频上。我最终得到命令: ffmpeg -y -i in.mp4 -filter_complex " [0:v]drawtext=f
我无法将 ffmpeg 中的这 3 个 channel 合并到一个进程中。 这可能吗? 通过 1 ffmpeg -y -i C:\Users\MJ\Downloads\20151211_pmoney_
我正在尝试连接 mp4文件合并为一个文件。我正在尝试使用 concat出于与此问题无关的原因直接过滤(因此 -i list.txt 不是有效的解决方案)。所有相关视频文件的长度都在 4 到 20 分钟
ffmpeg -ss 00:11:47.970 -t 3.090 -i "file.mkv" -ss 00:11:46.470 -t 1.500 -i "file" -ss 00:11:51.060
我创建了一个不那么简单的 ffmpeg 命令,它带有一个复杂的过滤器来将开/关字幕附加到视频中。在同一过程中,视频被调整大小并重新编码。这在我测试过的所有播放器中都可以正常工作。 当我省略 -filt
我是一名优秀的程序员,十分优秀!