megui吧 关注:5,457贴子:37,791
  • 38回复贴,共1

【新人求教】关于Pr通过帧服务器导出视频到x264的偏色现象

只看楼主收藏回复

新人求教QAQ。Premiere Pro 通过 Debugmode FrameServer 桥接输出视频到 MeGUI 压制,发现输出的视频有明显的偏色现象。后改用 Advanced FrameServer 问题依旧存在,遂直接用 x264 进行编码,然而还是有问题……但是用 MPC 播放却是正常的。看了几个国内外的帖子后发现可能是 AviSynth 导致的,就想起自己一直都是用avs脚本导入到 MeGUI 和 x264,于是尝试在 x264 中直接导入。没想到由于格式特殊,x264只能用avs来导入(如图)……

强制指定使用 ffms、lsmash 等会报错,错误原因基本同图。另外尝试用 ffmpeg 编码所遇到的问题基本相似。
我想问,是否有办法能够使用其他滤镜将帧服务器产生的虚拟 .avi 传入 x264?如果只能使用 avs,是否有办法解决偏色问题?
另外,图中有一句 resize 的警告,请问这是否和我所遇到的问题有关?


1楼2016-03-31 12:51回复
    另外,avs文件中只有一句AVIsource()。换用其他滤镜和在命令行中直接指定滤镜一样都会报错TAT。


    来自Android客户端3楼2016-03-31 13:08
    回复
      不桥接直接用pr自带的encoder也有色彩问题?


      IP属地:广东来自Android客户端4楼2016-03-31 14:07
      收起回复
        源是yv12还是borg?试试看在avs里转成yv12(x264不支持borg的输出)


        IP属地:广东来自Android客户端5楼2016-03-31 14:21
        收起回复
          原始视频:

          帧服务器输出的虚拟 .avi:

          x264 输出的视频:


          6楼2016-03-31 18:00
          收起回复
            嗯,源是yv12的,但是framesever输出的是borg。颜色的问题应该出在这里。两个办法,一是在avs里加一条转yv12的命令。二是用自带的encoder出无损avi再写avs喂x264(当然,这需要足够的硬盘空间)


            IP属地:广东来自Android客户端7楼2016-03-31 18:22
            收起回复
              按照以下的步骤去debug
              1,替换源滤镜到lwl
              2,x264里加一条--input-csp bgra
              3,ConvertToYV12(matrix = "Rec709")
              4,把Lav设为系统的默认解码器,然后用DSS做源滤镜
              Lav和Lavf是不同的两个东西,Lav的功能要多得多(这也是我为什么推崇DSS的原因之一)


              IP属地:广东8楼2016-03-31 19:40
              收起回复
                frameserver设置上下


                IP属地:浙江9楼2016-03-31 21:52
                收起回复
                  翻了一下x264的源码,x264内部的颜色转换也是直接用ConvertToYV12()的(也就是BT.601)


                  IP属地:广东13楼2016-04-01 22:29
                  收起回复
                    @鸣人的血 我又遇到问题了……使用 Bandicam 进行屏幕录制,软件中设置的编码器是 YV12,输出的视频的 MediaInfo 如下:
                    Format : AVI
                    Format/Info : Audio Video Interleave
                    Format profile : OpenDML
                    File size : 6.24 GiB
                    Duration : 1mn 26s
                    Overall bit rate : 621 Mbps
                    Writing application : BandiAviMuxer 1.0
                    Video
                    ID : 0
                    Format : YUV
                    Codec ID : YV12
                    Codec ID/Info : ATI YVU12 4:2:0 Planar
                    Duration : 1mn 26s
                    Bit rate : 621 Mbps
                    Width : 1 680 pixels
                    Height : 1 048 pixels
                    Display aspect ratio : 16:10
                    Frame rate : 30.000 fps
                    Color space : YUV
                    Chroma subsampling : 4:2:0
                    Compression mode : Lossless
                    Bits/(Pixel*Frame) : 11.763
                    Stream size : 6.24 GiB (100%)
                    但是把这个视频丢进 Premiere Pro ,无论是用 Media Encoder 输出 H.264 还是桥接到 x264 用各种颜色空间输出所得到的视频颜色都有点不对…… Media Encoder 输出的有轻微偏色现象,x264 则非常严重。
                    甚至,直接把录制得到的视频拿去裸压的话会出现严重的条纹……
                    这是我所希望看到的颜色:

                    录制后得到的颜色(MPC + Lav ,下同。这也是直接播放虚拟 .avi 所看到的……):

                    Media Encoder 编码后:

                    x264 配合 ConvertToYV12(matrix="Rec709") 语句得到的结果:

                    ……无语了


                    14楼2016-04-02 10:55
                    收起回复
                      还有这个…………


                      15楼2016-04-02 11:09
                      收起回复
                        试着用DSS做源滤镜,然后往x264加两条参数--output-csp rgb --input-range pc


                        IP属地:广东16楼2016-04-02 20:33
                        收起回复