FFMPEG 将两个视频合并为一个并排具有相同质量的输出

2023-11-21

我已经在处理 3D 视频项目,但遇到了问题,我有视频的左通道和右通道,我需要将它们并排合并。我已经阅读了一些有关此问题的博客,并得到了以下代码:

ffmpeg -i avatar35l.avi -vf "movie=avatar35r.avi [in1]; [in]pad=1920*2:1080[in0]; [in0][in1] overlay=1920:0 [out]" avatar35sbs.avi

它可以工作,但质量损失很大,我需要输出视频的质量与输入视频相同:30fps,1080p,相同的长度。我是新来的ffmpeg我需要一个具体的例子。

有谁能够帮助我?


Lossless

如果您需要“输出视频的质量与输入视频相同”,则必须使用真正的无损格式。 ffv1 的示例使用hstack过滤器而不是电影+垫+覆盖:

ffmpeg -i left.avi -i right.avi -filter_complex hstack -c:v ffv1 output.avi

FFmpeg 支持多种附加无损压缩格式,例如:

  • 无损 H.264:-c:v libx264 -crf 0
  • 哈夫尤夫:-c:v huffyuv
  • 呼呼呼:-c:v ffvhuff
  • UT视频:-c:v utvideo
  • 当然还有无损未压缩格式,包括原始视频。

由于它是无损的,输出文件将会很大,您的播放器或设备可能不喜欢它。

视觉无损

当然,您可能真正想要的是“有损,但‘视觉上无损’,但不是像真正的无损提供那样巨大的文件”。在这种情况下使用:

ffmpeg -i left.avi -i right.avi -filter_complex "hstack,format=yuv420p" -c:v libx264 -crf 18 output.mp4

你没有提到音频。如果您想合并每个输入的音频,请使用amerge filter:

ffmpeg -i left.avi -i right.avi -filter_complex "[0:v][1:v]hstack,format=yuv420p[v];[0:a][1:a]amerge[a]" -map "[v]" -map "[a]" -c:v libx264 -crf 18 -ac 2 output.mp4

See FFmpeg 维基:H.264 视频编码.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FFMPEG 将两个视频合并为一个并排具有相同质量的输出 的相关文章

  • HTML 5

    尽管开放视频标准似乎处于某种危险之中 但它是一个好主意 我看到了一些关于运动跟踪的演示 只是概念验证 但仍然很有趣 现在 我想说像这样的概念really如果能够访问用户的网络摄像头 这将是一种收获 想象一下 双手举在半空中浏览 Flickr
  • ffmpeg通过添加框或边框来扩展(而不是调整大小)视频大小

    假设我有一个特殊分辨率的视频 例如 1280x718 我想将其更改为 1280x720 但我宁愿只在顶部和底部添加一行 而不是将 718 像素垂直插值到 720 所以基本上 我正在寻找一种方法告诉 ffmpeg 创建 1280x720 的输
  • 使用 ffmpeg 将视频与其自身连接,但相反

    我能够逆转 ffmpeg i input mp4 vf reverse output reversed mp4 我可以连接 ffmpeg i input mp4 i input mp4 filter complex 0 0 0 1 1 0
  • 使用 ffmpeg 从 unix 命令批量将 wav 文件转换为 16 位

    我有一个由许多子文件夹组成的文件夹 每个子文件夹都有其他子文件夹 其中包含 wav 文件 我想像这样转换所有文件 ffmpeg i BmBmGG BmBmBmBm wav acodec pcm s16le ar 44100 BmBmGG B
  • 在列表视图/滚动视图中自动播放视频,类似于 facebook

    如果视图包含视频 我需要视频在列表视图 滚动视图中自动播放 这与 Facebook 非常相似 如果用户向下滚动并且可见区域包含视频 系统将播放视频 如果仍然滚动 则会自动停止该视频 它应该像一次播放一个视频一样工作 有人可以帮我解决这个问题
  • 使用 ffmpeg 将 h.264 avi 容器转换为 mp4

    我想使用 ffmpeg 将 h 264 avi 容器转换为 mp4 容器 我发现这个有效 ffmpeg i myfile avi vcodec copy myfile mp4 ffmpeg version N 51169 gcedf276
  • 仅使用 url 嵌入视频

    给定一个 youtube url 我如何使用 net c 将视频嵌入到页面中 只需添加如下一行 将 autoplay 设置为 0 或 1 取决于您是否希望人们真正留在您的页面上
  • 将 CIFilter 与 AVFoundation 结合使用 (iOS)

    我正在尝试将滤镜应用于在 iOS 上使用 AVFoundation 创建的视频合成 滤镜可以是模糊 像素化 棕褐色等 我需要实时应用效果并能够将复合视频渲染到磁盘 但我很高兴从其中之一开始 不幸的是 我似乎无法弄清楚这一点 这是我能做的 我
  • HTML 5 视频自定义控件

    与许多 Web 开发人员一样 我期待着利用新的 HTML 5 进行流式传输视频
  • Android VideoView 中纵向视频方向错误

    我在 Android 设备上以肖像方向拍摄新视频 如下所示 Intent intent new Intent android provider MediaStore ACTION VIDEO CAPTURE startActivityFor
  • Android - 如何合并两个视频

    基本上 我正在寻找一种将两个 mp4 视频文件 在 SD 卡上 组合在一起的方法 更像是在第一个视频的末尾附加第二个视频 我进行了很多搜索 但找不到合适的解决方案 好吧 我根本找不到任何解决方案 所以我的问题是 是否有一个库可以组合 并可能
  • 重新采样 H264 视频以降低帧速率,同时保持高图像质量

    以下是感兴趣的视频的 mplayer 输出 br carina tmp mplayer foo mov mplayer Symbol ff codec bmp tags has different size in shared object
  • MP4 到 DASH(bash 脚本)

    我有一个网站 用户可以在其中上传视频文件 我想使用 DASH 流式传输所有内容以获得自适应比特率流式传输 因此 我编写了一个 bash 脚本 由 cron 运行 将所有 mp4 文件转换为 DASH 但它无法正常工作 出了什么问题 例如 使
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo
  • 如何将输出视频保存到 OpenCV 中的文件中

    我想将输出视频保存到文件中而不是显示它并尝试使用 cvcaptureimage 但仍然无法获得结果 include
  • Qt WinRT 应用程序无法访问文件权限被拒绝

    我需要使用 Qt 和 FFMPEG 开发 WinRT 应用程序 我根据指令构建了 WinRT 的 ffmpeghere https github com Microsoft FFmpegInterop我可以将库与我的项目链接起来 现在我需要
  • 在 ffmpeg 中,如何使用scale2ref 过滤器缩放 dvdsub 字幕以匹配视频大小?

    我有一个从直播电视录制的 mpeg 文件 其中包含视频以及多个音频和字幕流 我的最终目标是能够创建较小的视频文件 因为 mpeg 文件大小为数 GB 我在这条道路上的第一步只是能够选择视频 音频和字幕流中的每一个并将它们复制到 mkv 文件
  • 如何制作过期/签名视频嵌入网址

    我是新来的 正在学习网络开发等等 我只知道如何将我的视频嵌入网站中 任何菜鸟都可以轻松获得源代码 他们也可以嵌入它 但在许多网站中 视频 src 均使用重定向器链接进行编码 例如 它会在一段时间后过期 在本例中是一天 我了解到这是一个签名网
  • Kivy 视频播放器无法在 Raspberry 3B+ 上运行

    我刚刚在我的电脑上安装了 Rasbian Stretch 和 KivyRPI3 我的应用程序工作正常 只是视频未播放 Rasbian kivy 和 gstreamer 都是最新的 我的应用程序和视频正在处理KivyPie 0 9b没有任何问
  • 如何使用 ffmpeg 将两个视频/音频流混合为一个

    我有两个视频 v1 flv 和 v2 flv 想要创建 v3 flv 其中包含来自 v1 flv 的视频流以及来自 v1 flv 和 v2 flv 的 混合 音频流 使用 ffmpeg 命令可以实现类似的操作吗 谢谢 我认为使用 ffmpe

随机推荐

  • bash 别名和 awk 引号转义

    我正在尝试为命令创建别名来查看内存使用情况 ps u user o rss command grep v peruser awk sum 1 END print sum 1024 但是 天真的人 bash aliases alias tot
  • boto3 file_upload 检查文件是否存在

    我正在查看 boto3 文档 但找不到它本身是否支持检查文件是否已存在于 s3 中 如果不存在 请不要尝试重新上传 这是我正在做的工作 import boto3 s3 client boto3 client s3 s3 bucket buc
  • Canvas DrawImage() 质量差[重复]

    这个问题在这里已经有答案了 我对 Html5 画布有疑问 i draw an image but its quality becomes very poor 当我用画布绘制它之后 它就变成了这样 我的代码在这里
  • 当对基元和装箱值使用 == 时,是完成自动装箱还是完成拆箱

    以下代码可编译 使用 Java 8 Integer i1 1000 int i2 1000 boolean compared i1 i2 但它有什么作用呢 Unbox i1 boolean compared i1 intvalue i2 o
  • Android套接字连接超时

    我的android应用程序通过socket连接到服务器 这是在node js中编码的 当在前台停留 15 分钟时 它会丢失与服务器的连接 以下是sockt连接服务器的代码 public void connect this connectio
  • 当我尝试从 bash 执行 python 脚本时权限被拒绝? [复制]

    这个问题在这里已经有答案了 我从网上下载了一个 python 脚本 当我尝试从 bash 执行它时 它抛出一个异常 User python script user python script py n some parameter b 输出
  • 如何使用 LibGit2Sharp 获取 Git 上的文件内容?

    我检查了代码BlobFixture cs并发现一些有关读取文件内容的测试 如下所示 using var repo new Repository BareTestRepoPath var blob repo Lookup
  • Handlebars 助手和 Ember Handlebars 助手有什么区别?

    我无法跟上对普通车把和修改后的 Ember 车把助手所做的所有更改 如果我没记错的话你可以用以下方法注册一个助手 Ember Handlebars helper Ember Handlebars registerHelper Ember H
  • Razor 和 HTML 帮助程序

    我正在尝试移植旧的 HTML Image 助手 我确信每个人都曾在某一时刻使用过它 但我遇到了问题 以下编译良好 Html Image my id Content my img png Alt Text 但是当我尝试在视图中使用它时 它只是
  • Java - 在程序中创建新的文件扩展名

    我的目标是为我正在创建的程序创建一个新的文件扩展名 可能不止一个 因此 在四处查看之后 我找到了一些有关该主题的资源 如下所列 以防万一有人想要查看它们并了解我一直在查看的内容 在 Java 应用程序中使用文件关联 创建注册表项以将文件扩展
  • 像表格排序器一样向 添加排序箭头

    我正在尝试向我的表格添加双箭头 向上和向下 例如表格排序器插件可以 这是我的fiddle 由于某种原因 jsfiddle 中甚至没有出现一个箭头 但它可以在我的原始表格上运行 我试过这个 table th addClass headerSo
  • 如何在uWSGI上仅记录5xx错误

    我想让uWSGI只记录服务器错误并避免正常的请求日志 因为文件增长得非常快 并且所有请求日志记录对我来说NGINX都很好 我怎样才能正确配置我的 uwsgi ini 呢 该文档对我来说不是很清楚 最后解决方案非常简单 logto var l
  • 如何在 Ruby 中将数字分组到不同的桶中

    我有一个文件 每行都有数字 0101 1010 1311 0101 1311 431 1010 431 420 我想要一个包含每个数字出现次数的哈希值 在本例中 0101 gt 2 1010 gt 2 1311 gt 2 431 gt 2
  • 自定义视图 - self.frame 不正确?

    所以我有一个自定义的 UIView 类 class MessageBox UIView override init frame CGRect super init frame frame createSubViews required in
  • React-native android WebView在加载之前处理点击的Url

    我正在通过反应本机的 WebView 显示一个网站 此网站上有一个 PassWallet pkpass 文件的链接 不是唯一的用例 当我单击此网站上的任何链接时 我想检查它是否是其他网站或 pkpass 文件或其他文件 当此检查运行时 我不
  • 如果同一日期有超过 3 个使用完整日历的事件,如何更改整个单元格的颜色

    我正在使用完整日历来生成日期并显示事件 一切工作正常 但我想要一个附加功能 即如果单元格颜色超过 3 个事件 我想将单元格颜色更改为红色 如果日期有超过 3 个函数 事件 则整个单元格颜色应更改为红色 以便用户知道预订已满 我还粘贴了下面的
  • 将嵌套 BigQuery 数据导出到云存储

    我正在尝试通过 API 将 bigquery 数据导出到谷歌云存储桶 我从这里改编了一个代码片段https cloud google com bigquery docs exporting data Job job table extrac
  • 使用 C# 和 XDocument/XElement 解析 Soap 响应

    以下是我的 SuperDuperService 的肥皂响应示例
  • 如何更改日期时间中的时间?

    我怎样才能只改变我的时间DateTime变量 s DateTime s some datetime 您无法更改 DateTime 值 它是不可变的 但是 您可以更改该变量以获得新值 仅更改时间的最简单方法是创建具有相关时间的 TimeSpa
  • FFMPEG 将两个视频合并为一个并排具有相同质量的输出

    我已经在处理 3D 视频项目 但遇到了问题 我有视频的左通道和右通道 我需要将它们并排合并 我已经阅读了一些有关此问题的博客 并得到了以下代码 ffmpeg i avatar35l avi vf movie avatar35r avi in