小编Sam*_*Sam的帖子

带填充的CSS网格溢出容器

我试图创建一个页脚,其宽度为(正文的)100%。在页脚的左侧,我想要一个徽标。在页脚的右侧,我想要一些文本。所以我决定尝试使用CSS网格。

这几乎正​​是我要的:

.footer {
  background-color: #2D1975;
  width: 100%;
  height: 350px;
  display: grid;
  grid-template-columns: 30% 70%;
}

.footerGridLogo {
  background-color: red;
}

.footerGridQuestions {
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="footer">
  <div class="footerGridLogo"></div>
  <div class="footerGridQuestions"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,我想在网格的左侧添加一些填充,例如10%,这样徽标就不会离左侧边缘那么近了。因此,我尝试了10-25-65的拆分,而不是30-70的拆分。但是,网格最终溢出。这是为什么?

问题的演示:

.footer {
  background-color: #2D1975;
  width: 100%;
  height: 350px;
  display: grid;
  padding-left: 10%;
  grid-template-columns: 25% 65%;
}

.footerGridLogo {
  background-color: red;
}

.footerGridQuestions {
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="footer">
  <div class="footerGridLogo">
  </div>
  <div class="footerGridQuestions">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我意识到仅添加另一个10%的网格项而不是填充即可解决我的问题,但我很好奇为什么填充不能以相同的方式工作。

html css overflow css3 css-grid

8
推荐指数
2
解决办法
4387
查看次数

ffmpeg动态缩小视频(挤压)或缩小到比原始尺寸小

我有 2 个视频,我试图将一个视频叠加在另一个视频之上,并使其以动画方式缩小,直到它看起来像画中画设置。然后,几秒钟后,它应该会缩小。

这就是我想要实现的目标(这些将是视频而不是图像): 在此输入图像描述

这是我能得到的最接近的结果,但至关重要的是,缩放“向外”(而不是“向内”)似乎不起作用;所以,当然,这是行不通的

ffmpeg -i bg.mov -i top.mov -filter_complex "[0:v]zoompan=z='pzoom-0.1':d=1, setpts=PTS-STARTPTS[top]; [1:v]setpts=PTS-STARTPTS+2/TB, scale=1920x1080, format=yuva420p,colorchannelmixer=aa=1.0[bottom]; [top][bottom]overlay=shortest=0" -vcodec libx264 out.mp4

这可以用 ffmpeg 实现吗?

video animation ffmpeg dynamic scale

4
推荐指数
1
解决办法
2600
查看次数

ffmpeg在叠加层中延迟视频

我正在尝试叠加 2 个视频,其中一个(位于“底部”的视频)我想延迟开始(假设延迟 2 秒)。

因此,要么在延迟期间保留第一帧,要么在延迟期间保留黑帧。我对哪个没有偏好。

这是我根据类似问题尝试的方法:https://superuser.com/questions/734234/delayed-video-overlay-using-ffmpeg

ffmpeg
-i video_top
-i video_bottom
-filter_complex
"[0:v]trim=start='00\:04\:17.8':end='00\:04\:32.8',setpts=PTS-STARTPTS, scale=-1:'ih-ih*.5':eval=frame[v0];
[0:a]atrim=start='00\:04\:17.8':end='00\:04\:32.8',asetpts=PTS-STARTPTS[a0];
[1:v]setpts=PTS-STARTPTS+2/TB, format=yuva420p[v1];
[v1][v0]overlay=y=(main_h-overlay_h)*.074:format=yuv444:shortest=0:alpha='straight',format=yuv420p[out]"
-map [out] -map [a0] -vcodec libx264 testing_14.mp4
Run Code Online (Sandbox Code Playgroud)

然而,这样做的结果是两个视频都在延迟的持续时间内冻结第一帧(在本例中为 2 秒)。我尝试了很多替代选择,包括

  • 仅在其中一个视频流上设置 PTS,而不是同时在两个视频流上设置 PTS
  • 使用-itsoffsetPTS代替

似乎什么都不起作用。

video overlay ffmpeg pts

2
推荐指数
1
解决办法
4176
查看次数

标签 统计

ffmpeg ×2

video ×2

animation ×1

css ×1

css-grid ×1

css3 ×1

dynamic ×1

html ×1

overflow ×1

overlay ×1

pts ×1

scale ×1