首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FFMPEG + h264_qsv =视频底部的绿线

FFMPEG + h264_qsv =视频底部的绿线
EN

Stack Overflow用户
提问于 2020-03-21 00:31:49
回答 1查看 678关注 0票数 1

我正在Ubuntu19.04 (https://github.com/Intel-Media-SDK/MediaSDK/wiki/Intel-media-stack-on-Ubuntu)上试验Intel quicksync和FFMPEG。

不幸的是,在缩放时,我不得不在输出的底部加上一条绿色的线。当使用VLC播放视频时,确保高度可以被8或16整除,有时会隐藏绿色条,但不总是如此。在iPhone上玩它,在Mac上玩Quicktime总是会显示绿线。在网上几乎找不到这个问题,所以我被卡住了。

以下是我的FFMPEG版本:

代码语言:javascript
复制
ffmpeg version N-95842-g103effe Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Ubuntu 8.3.0-6ubuntu1)
configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libx264 --enable-libmfx --enable-openssl --enable-nonfree
libavutil      56. 36.100 / 56. 36.100
libavcodec     58. 62.100 / 58. 62.100
libavformat    58. 35.100 / 58. 35.100
libavdevice    58.  9.101 / 58.  9.101
libavfilter     7. 66.100 /  7. 66.100
libswscale      5.  6.100 /  5.  6.100
libswresample   3.  6.100 /  3.  6.100
libpostproc    55.  6.100 / 55.  6.100

这是我的输入视频:

代码语言:javascript
复制
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '720p-test.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2019-10-19T15:49:16.000000Z
  Duration: 00:12:04.32, start: 0.000000, bitrate: 1206 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1075 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2019-10-19T15:49:16.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/19/2019.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2019-10-19T15:49:16.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/19/2019.

下面是我的示例命令:

/root/bin/ffmpeg -hwaccel qsv -c:v h264_qsv -i 720p-test.mp4 -c:v h264_qsv -vf 'scale_qsv=640:360' -preset veryfast -b:v 800K -movflags faststart 720-to-360.mp4

下面是输出:

代码语言:javascript
复制
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '720-to-360.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.35.100
  Duration: 00:12:04.35, start: 0.000000, bitrate: 925 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 791 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/19/2019.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 10/19/2019.

下面是输出的样子:

我不确定从这里到哪里去。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-05 04:16:39

使用vpp_qsv方法(-vf vpp_qsv=w=640:h=360),不会复制scale_qsv中出现的问题,但我相信会产生一些小开销(测试文件在使用scale_qsv时为5.54MB,但在使用vpp_qsv时为5.56 mb )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60778078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档