- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是一个 ffmpeg 菜鸟。不过,我确实花了 30 分钟在谷歌上搜索 stackoverflow,但没有找到答案。
我的设计师为我制作了一些动画图画的视频。它们很棒,但是很大。所以我尝试通过 ffmpeg 传递它们。它们变小了 10 倍,而且看起来没有像素化——太棒了! ——但是颜色大大降低了。当我在我的 macbook 上查看它时,或者在它要进入的应用程序中查看它时,原件中的亮红色/粉红色在输出中变成了灰色-灰色-红色(iOS - 即。在 iPhone 5S 上你可以看到丢失的颜色)。我怎样才能让颜色保持不变?
ffmpeg -i original.mp4
给我看这个:
ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 7.0.0 (clang-700.0.72)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-indev=jack --disable-outdev=xv --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --enable-vda --enable-videotoolbox --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01 Introanimation@25fps_2.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2015-10-28 22:08:44
Duration: 00:00:16.00, start: 0.000000, bitrate: 1613 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 720x720, 1434 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
Metadata:
creation_time : 2015-10-28 22:08:44
handler_name : Alias Data Handler
encoder : AVC Coding
...到目前为止我试过了...
ffmpeg -i original.mp4 -vf format=yuvj420p -color_range 2 -vcodec libx264 out.mp4
...和许多其他人,但没有运气。
Original.mp4 在这里:http://fuzzymunchkin.com/tmp/original.mp4
编辑:按要求发布(无参数)转换的输出。
ffmpeg -i original.mp4 out.mp4
ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 7.0.0 (clang-700.0.72)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-indev=jack --disable-outdev=xv --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --enable-vda --enable-videotoolbox --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2015-10-28 22:08:44
Duration: 00:00:16.00, start: 0.000000, bitrate: 1613 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 720x720, 1434 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
Metadata:
creation_time : 2015-10-28 22:08:44
handler_name : Alias Data Handler
encoder : AVC Coding
[libx264 @ 0x7f8a5b80ea00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x7f8a5b80ea00] profile High, level 3.1
[libx264 @ 0x7f8a5b80ea00] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'out.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
encoder : Lavf56.40.101
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x720, q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 2015-10-28 22:08:44
handler_name : Alias Data Handler
encoder : Lavc56.60.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 400 fps=0.0 q=-1.0 Lsize= 262kB time=00:00:15.92 bitrate= 134.9kbits/s
video:257kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.971545%
[libx264 @ 0x7f8a5b80ea00] frame I:2 Avg QP:13.86 size: 9730
[libx264 @ 0x7f8a5b80ea00] frame P:174 Avg QP:21.01 size: 1121
[libx264 @ 0x7f8a5b80ea00] frame B:224 Avg QP:20.88 size: 215
[libx264 @ 0x7f8a5b80ea00] consecutive B-frames: 19.2% 17.0% 3.8% 60.0%
[libx264 @ 0x7f8a5b80ea00] mb I I16..4: 62.9% 26.0% 11.1%
[libx264 @ 0x7f8a5b80ea00] mb P I16..4: 3.7% 1.0% 0.7% P16..4: 3.0% 1.5% 0.8% 0.0% 0.0% skip:89.3%
[libx264 @ 0x7f8a5b80ea00] mb B I16..4: 0.4% 0.1% 0.0% B16..8: 3.3% 0.5% 0.0% direct: 0.0% skip:95.6% L0:47.0% L1:43.5% BI: 9.5%
[libx264 @ 0x7f8a5b80ea00] 8x8 transform intra:19.3% inter:33.8%
[libx264 @ 0x7f8a5b80ea00] coded y,uvDC,uvAC intra: 7.4% 6.8% 5.5% inter: 0.5% 0.6% 0.5%
[libx264 @ 0x7f8a5b80ea00] i16 v,h,dc,p: 70% 29% 1% 0%
[libx264 @ 0x7f8a5b80ea00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 7% 77% 1% 0% 0% 0% 0% 0%
[libx264 @ 0x7f8a5b80ea00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 23% 29% 3% 2% 2% 2% 1% 1%
[libx264 @ 0x7f8a5b80ea00] i8c dc,h,v,p: 74% 10% 15% 0%
[libx264 @ 0x7f8a5b80ea00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7f8a5b80ea00] ref P L0: 64.1% 5.3% 17.6% 12.9%
[libx264 @ 0x7f8a5b80ea00] ref B L0: 77.4% 19.7% 2.9%
[libx264 @ 0x7f8a5b80ea00] ref B L1: 95.5% 4.5%
[libx264 @ 0x7f8a5b80ea00] kb/s:131.31
最佳答案
如果添加 -x264opts colormatrix=bt709
并删除 -vf format=yuvj420p -color_range 2
,您可能会看到改进。
关于ios - ffmpeg 转换后的 x264 视频显示色彩饱和度急剧下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33403492/
我想循环遍历 gpx 文件并计算总上升和下降。我有一个函数可以计算两组经纬度点之间的高程差异,我已经设置了 simplexml 来读取和循环遍历 gpx 文件 trkseg 点。 问题是,这不准确(实
我有两个在不同时间段拍摄的数组。如何通过将新玩家标记为上升来检查哪些玩家在列表中上升/下降? 附言- 数组已经根据分数排序。 pastData:[ { playerName:'Jo
我想捕获 ctrl/alt/etc 键的起伏,无论表单上的哪个控件获取 keyup 或 keydown 事件。由于我的表单上有大约 100 个控件,如果我要为每个单独的控件添加代码,那将非常难看。我怎
vector1 = c(2, 2, 2, 2, 2, 2) vector2 = c(2, 2, 3, 3, 3, 3) vector3 = c(2, 2, 1, 2, 2, 2) 我想知道向量中的数字
我不知道如何遵循编译器的建议:consider using a let binding to create a longer lived value。 Playground #![allow(unus
我希望有人能帮助我理解 AngularJS 中的 $scope 遇到的一个恼人的问题。请参阅下面我的代码中的注释: app.controller('MyController', function ($
我有一个 flex 搜索集群,其中有2个节点在2核CPU 8GB ram实例上运行。每个节点都传入了参数“ES_JAVA_OPTS = -Xms3g -Xmx3g”。我有4个索引,每个索引有2个分片和
我正在学习 R(及其通过 quantmod lib 在交易任务中的应用)并定期浏览社区以从这里获得许多新知识和技巧。我对 R 的总体印象和特别是 quantmod lib 的印象 - 它很棒。 在这一
当我们点击屏幕时,我正在绘制纹理正方形。我正在使用相同的纹理。在新 ios 设备中点击几次后,FPS 从 120 下降到 4 左右。每次手指点击时,我都会将点击的点以及纹理和纹理的大小传递给着色器。
只有当对象被点击并且需要从列表中移除时它才会掉落。这是代码: if(event.type == TouchEvent.TOUCH_DOWN){ for(Bottle bottl
我有一个基于SpriteKit的小游戏。 在这个游戏中,我使用了很多带有字母(或字母组合)的节点,用户可以四处移动来构建单词。 这些节点基本上是带有 SKLabelNode 的 SKSpriteNod
我有一个简单的CSS布局 wrapper header left-sidebar / main-content / right-sidebar footer 但我的主要内容似乎下降了(float dr
在标题中,我给出了四个不同的部分,并使用 float 属性使所有内容都显示在一条水平线上。 当我调整浏览器窗口大小时,最后一个 div 位于黑色边框线下方。 如何解决。 http://jsfiddle
CSS: .desc{ text-align: center; color:#60A8D5; padding-top: 17px;
这是一段简单的代码,但我为这个问题尝试过的解决方案都没有奏效。 #ONE { float: left; border: 1
我有一个 SceneKit 设置,其中有一个 Sphere 设置为 Dynamic body。 我能够运行该应用程序并看到球体落在静态 body 地板上。 我想做的是设置场景,这样 sfere 最初就
首先,我的类(class): export class FooBar { ... isFavorite: boolean = false; constructor() { this.isF
我正在尝试删除所有端口上的所有传出 RST 和传入 RST。我正在使用 Debian Linux。我尝试了互联网上列出的所有可能的命令组合,但似乎没有任何效果。 例如,我试过: iptables -A
我正在做这样的事情: fn main() { //[1, 0, 0, 0, 99]; // return [2, 0, 0, 0, 99] //[2, 3, 0, 3, 99]; //
我正在使用 Rusqlite,它可以让你做这样的查询: statement.query_row(params!([1, 2, 3]), ...); params!()定义如下: macro_rules
我是一名优秀的程序员,十分优秀!