首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FFMPEG -在视频的开头添加一个全帧图像。

FFMPEG -在视频的开头添加一个全帧图像。
EN

Stack Overflow用户
提问于 2014-03-27 23:16:37
回答 1查看 2.8K关注 0票数 3

我尝试过许多不同的方法来尝试从一个图像文件中创建一个10秒的视频文件,并且使用了所有相同的开关和编解码器来编码我的视频文件。但是,当我使用complex_filter (迫使视频通过另一轮转码)以外的任何东西连接这两个文件时,产生的视频文件是损坏的。我相信这是由于10秒剪辑的固有差异,由图像创建,但必须有一些方法,使它编码完全相同的方式,我的视频文件。

下面是我用来将图像转换成10s视频剪辑的命令(我添加了一个无声的mp3,因为我认为视频中途启动的音频流会把事情搞砸):

代码语言:javascript
复制
ffmpeg -loop 1 -i splash.jpg -i silence.mp3 -c:v libx264 -preset slow -g 60 -r 29.97 -crf 16 -c:a libfdk_aac -b:a 256k -cutoff 18000 -t 5 tmpoutput1.mp4

下面是我用来对视频进行编码的命令:

代码语言:javascript
复制
ffmpeg -i input.f4v -c:v libx264 -preset slow -g 60 -r 29.97 -crf 16 -c:a libfdk_aac -b:a 256k -cutoff 18000 tmpoutput2.mp4

下面是我使用的命令,用于将它们转换为.ts,以便为concat做好准备:

代码语言:javascript
复制
ffmpeg -i tmpoutput1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts tmpoutput1.ts

最后一个问题(这就是我疯狂的视频腐败,沿途的一切看起来都很好):

代码语言:javascript
复制
ffmpeg -i "concat:tmpoutput1.ts|tmpoutput2.ts" -c copy output.mp4

同样,问题是我已经把所有的东西都转码了一次,我应该能够让它在一个足够相似的结构中转码,这样它就可以连在一起,而不需要将另一个代码附加到末尾。

曾经有人成功地在视频的正面添加了一个全帧的喷溅图形吗?我正在使用一个全新的交叉编译的ffmpeg,因为我认为这可能是问题,但遗憾的是,这个问题在更新后仍然存在。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 20:46:21

下面是一个使用ffmpeg的进程,它只使用源视频上的一个代码:

  1. 将图像循环成与我的源视频格式相同的无声音频轨道的视频。包括任何过滤器(例如淡出) c:\ffmpeg\ffmpeg.exe -loop 1 -i "test_image.png“-i silence.mp3 -vf "fade=t=in:st=0:d=0.5,fade=t=out:st=4.5:d=0.5,scale=1920x1080”-c:v libx264 -preset slow -profile:v high -r 29.97 -crf -r en23 20#256 k en21 5“
  2. 可选剪切源视频,包括任何过滤器 c:\ffmpeg\ffmpeg.exe -y -i "test_source.mp4“-af afade=t=in:st=0:d=0.5,afade=t=out:st=29.5:d=0.5”-vf "fade=t=in:st=0:d=0.5,fade=t=out:st=29.5:d=0.5“-c:v libx264 -preset slow -profile:v high -r 16 -crf -r en25 20 en21 en23# 30”
  3. 如果源已经是mpegts,则不需要,如果您的源不是可协商的格式,则将其转换为mpegts。使用mp4作为源格式的示例是无损和快速的。 c:\ffmpeg\ffmpeg.exe -i "~tmptest_final_fade1.mp4“-c拷贝-bsf:v h264_mp4toannexb -f mpegts "~tmptest_final1.ts”c:\ffmpeg\ffmpeg.exe -i "~tmptest_final_fade2.mp4“-c拷贝-bsf:v h264_mp4toannexb -f mpegts "~tmptest_final2.ts”
  4. 连接2个视频文件,并可选择将包装器更改为mp4。这一步也是无损和快速的。 "concat:~tmptest_final_fade1.ts|~tmptest_final_fade2.ts“c:\ffmpeg\ffmpeg.exe -y -i -c复制-bsf:a aac_adtstoasc "test_final.mp4”
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22701197

复制
相关文章

相似问题

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