小编Jon*_*n_W的帖子

在 MP4 / MKV 上硬编码 FFMPEG 字幕

我正在使用 FFMPEG 将字幕硬编码到视频中。阅读了许多关于最佳方法的帖子,以及是否使用 mkv 或 mp4,但我仍然不明智。下面的代码使用 mp4 文件。从输出来看,字幕似乎是经过处理的,但是0kb的大小似乎表明实际上没有渲染任何内容,并且输出文件有音频和视频,但没有字幕。

VLC 中的元数据显示存在字幕文件 - 但为空。

这是我的 SRT 文件的示例(未在 1 中放置空行会给出输入错误消息):

1
00:00:00,000 --> 00:00:00,001

2
00:00:00,001 –-> 00:00:04,761
He drives to school every morning

3
00:00:04,761 –-> 00:00:13,061
Cause love comes slow and it goes so fast
Run Code Online (Sandbox Code Playgroud)

我的命令行代码是:

`ffmpeg -i #{inputfile} -i #{srt_file}  -filter_complex "[0:v][1:s]overlay" #{outputfile} -y`
Run Code Online (Sandbox Code Playgroud)

我也试过:

`ffmpeg -i #{inputfile} -i #{srt_file}  -c:v libx264 -preset ultrafast \
-c:s mov_text -map 0 -map 1 #{outputfile}`
Run Code Online (Sandbox Code Playgroud)

和回应:

ffmpeg version 2.5.4 Copyright (c) 2000-2015 the …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg subtitles libav

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

使用 ffmpeg 淡入淡出视频和音频

这个超级用户回答使用 ffmpeg 的 2 个视频之间的交叉淡入淡出让我到目前为止,但现在我已经尝试了很多解决方案并看到了那里的每个 SO 链接,是时候向大家寻求帮助了。

我正在尝试同时使用音频和视频对 2 个 ts 格式的视频进行交叉淡化,每个 10 秒。

步骤是:

  1. 添加复杂滤镜黑屏
  2. 9 秒后淡出视频 1,淡出持续时间为 1 秒
  3. 在 9 秒处淡入视频 2,淡入持续时间为 1 秒
  4. 将黑色滤镜输出修剪为 19 秒

这仅适用于视频,但是当我尝试添加音频时,我无法跳过此错误消息:

带有未连接到任何目的地的 asetpts 的过滤器实例“Parsed_asetpts_4”的类型音频的输出垫“默认”

看来我没有正确连接音频输出。我想我需要更改 [over] 行以包含音频。但是我该怎么做呢?

`ffmpeg -i vid1.ts -i vid2.ts -f lavfi -i color=black -filter_complex \
"[0:v]format=pix_fmts=yuva420p,\
fade=t=out:st=9:d=1:alpha=1,setpts=PTS-STARTPTS[v0];\
[0:a]\
afade=t=out:st=9:d=1,asetpts=PTS-STARTPTS[a0];\
[1:v]format=pix_fmts=yuva420p,\
fade=t=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+9/TB[v1];\
[1:a]\
afade=t=in:st=0:d=1,asetpts=PTS-STARTPTS+9/TB[a1];\
[a0][a1]amix=inputs=2;\ 
[2:v]scale=720x406,trim=duration=19[over];\
[over][v0]overlay[over1];\
[over1][v1]overlay=format=yuv420[outv]" -vcodec libx264 -y -map [outv] final.ts`
Run Code Online (Sandbox Code Playgroud)

video bash shell ffmpeg

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

标签 统计

ffmpeg ×2

video ×2

bash ×1

libav ×1

shell ×1

subtitles ×1