ffmpeg:转换前后的视频长度不同

2023-12-14

我有一组 .mov 视频,需要转换为 .mp4 格式。我正在使用 ffmpeg 并运行以下命令:

ffmpeg -i Banking.mov -vsync -async -sameq -ac 1 -ab 64k -ar 44100 Banking.mp4

输入和输出视频的时间长度略有不同(00:03:35.407 和 00:03:35.582)。这里有一个问题 - 我将在精确时间设置的时间提示存储在一个文件中,程序使用该文件来指向特定场景。 0.1 秒的差异导致它指向错误的场景,从而使提示集变得无用。是否有可能以不同的格式保留完全相同的时间?

   FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice BellardMac OSX universal build for ffmpegX
  configuration:  --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264 
  libavutil version: 49.0.0
  libavcodec version: 51.9.0
  libavformat version: 50.4.0
  built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5597b8]negative ctts, ignoring
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Banking.mov':
  Duration: 00:03:35.6, start: 0.000000, bitrate: 1400 kb/s
  Stream #0.0(eng): Audio: pcm_s16be, 24000 Hz, stereo, 768 kb/s
  Stream #0.1(eng), 29.97 fps(r): Video: h264, yuv420p, 720x480
Output #0, mp4, to 'Banking.mp4':
  Stream #0.0, 29.97 fps(c): Video: mpeg4, yuv420p, 720x480, q=2-31, 200 kb/s
  Stream #0.1: Audio: aac, 44100 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 6461 q=0.0 Lsize=   53181kB time=215.3 bitrate=2023.3kbits/s    
video:51437kB audio:1618kB global headers:0kB muxing overhead 0.237816%

从 FFmpeg 输出来看,输入文件的长度为 3:35.6 分钟:

Input #0, mov,mp4,m4a,3gp,3g2,mj2,来自“Banking.mov”:持续时间:00:03:35.6

因此,时间上的差异似乎是 FFmpeg 如何看待您的文件,而不是与其转码直接相关的任何内容。您如何测量获得 00:03:35.407 的持续时间?

也就是说,一些观察结果:

  • 由于您的总体目标只是容器格式的转换,为什么不简单地复制视频和音频数据:

    ffmpeg -i Banking.mov -codec copy Banking.mp4
    

    那应该很好地保存一切。

  • 根据文档, -vsync and -async每个都有一个参数,所以没有任何参数可能没有任何帮助。 (虽然您的 FFmpeg 版本有点旧,所以也许这是该版本的正确用法;我在输出中没有看到任何错误。)

  • 关于这一点,您使用已有六年历史的 FFmpeg 版本有什么原因吗?使用更新的版本,您肯定会获得更好的支持,并且可能会获得更好的结果。

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

ffmpeg:转换前后的视频长度不同 的相关文章

  • 两个图像之间的视频变形,FFMPEG/Minterpolate

    我正在尝试在 Ubuntu Linux 上的 bash 脚本中使用两个帧 png 图像 和 ffmpeg 的 minterpolate 过滤器制作一个快速且简单的变形视频 目的是稍后使用变形作为不同视频编辑器中相似视频之间的过渡 它适用于
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • 使用 Coldfusion 的 CFFILE 标签监控 FFMpeg 的进度日志

    我想学习如何使用 ColdFusion 中的 CFFILE 标签来读取文本文件的内容 就我而言 该文本文件是 FFMpeg 在对媒体文件进行转码时生成的进度日志 我想编写一个 ColdFusion 脚本 该脚本将定期轮询进度日志 直到日志表
  • Node.js - 将数据缓冲到 Ffmpeg

    我使用 Node js 和 Ffmpeg 来创建动画 因为我试图避免第三方 avi mp4 解析器 所以我决定将动画输出为原始 rgb24 数据文件 然后使用一些程序将其转换为 mp4 文件 我发现 Ffmpeg 是免费且开源的 它完全可以
  • 将 ffmpeg 编译为独立二进制文件

    我正在尝试编译ffmpeg作为独立的二进制文件 因为我想在 AWS lambda 中使用它 我可以让事情在我正在编译的服务器上正常工作 但是如果我复制二进制文件并从另一台服务器运行它 我会得到 ffmpeg error while load
  • 如何在google colab中安装ffmpeg包

    我正在尝试使用 Google Colab 来做一些事情 我特别想用ffmpeg打包到从图像创建视频 https stackoverflow com a 44951066 6890234 但 ffmpeg 似乎工作得不太好 这个 在最后一个块
  • 如何在 RTMP 流中嵌入 pic_timing SEI 挂钟时间码?

    我需要将我的桌面流式传输到 AWS MediaLive 服务 并且根据要求 我必须在流中包含挂钟时间码 AWS 支持人员善意地通知我 对于 h 264 编码流 我需要提供时间码作为 pic timing SEI 消息 我在 Windows
  • ffmpeg 配置复杂过滤器时出错

    ffmpeg 命令存在一些问题 也许有人可以指出我正确的方向 我使用此链接来构建我的命令 那么问题 https stackoverflow com questions 7333232 how to concatenate two mp4 f
  • 无法从 webm 视频中提取 webp 中的帧

    我无法从 8K webp 视频中提取帧 我正在使用 ffmpeg 来提取帧 这是我正在使用的命令 ffmpeg i content to extract webm frame 2d webp 我得到的输出文件中没有任何数据 但是 当我导出为
  • ffmpeg计算视频比特率

    我想知道如何计算该视频的比特率 http jell yfish us media jellyfish 30 mbps hd hevc mkv http jell yfish us media jellyfish 30 mbps hd hev
  • 为 Android 编译时显示 FFMPEG 错误

    我正在尝试将 ffmpeg 添加到我的 android 项目中 我使用的是 ubuntu 14 04 操作系统 我正在关注此链接 Link https software intel com en us android blogs 2013
  • 如何使用 ffmpeg av_seek_frame() 在具有帧号的情况下读取任何帧

    int64 t timeBase timeBase int64 t pavStrm gt time base num AV TIME BASE int64 t pavStrm gt time base den int64 t seekTar
  • 如何从 ffmpeg 中打开的文件获取流信息?

    我正在尝试使用 ffmpeg 读取视频文件 我有与其旧版本相对应的工作代码 并开始尝试升级到最新的构建版本 将所有这些已弃用的函数替换为其实际的类似函数 但是我遇到了问题 似乎没有检索到任何流 并且视频负载停止在轨道中 这是我正在使用的代码
  • 使用 rtmp 和 videojs 流式传输视频

    我正在寻找一种使用 rtmp 流播放视频的方法 我使用 video js 但它不起作用 Firebug 返回错误 L attribut type sp cifi sur video flash n est pas g r Le charge
  • ffmpeg 找不到 vcodec h264

    我是 ffmpeg 的新手 正在 Windows 上使用它 我尝试使用 H 264 vcodec h264 转换 avi 文件 收到此错误 未知编码器 h264 使用 acodec 的 mp3 也会出现 未知编码器 错误 有人可以帮我解决这
  • 如何在 Java 中获取 mp4 电影的单个图像

    我想对以 mp4 格式存储的视频进行一些图像分析 因此我需要一种方法来用 Java 获取这部电影的图像 我搜索了很多 找到了一些库 例如 jcodec 和 jaad 但我无法让这些库运行起来 正如我发现的 有一些示例 至少我没有找到 展示了
  • ffmpeg 无法复制正确的持续时间

    我想使用以下命令修剪视频 ffmpeg exe i in mp4 ss 76 t 10 c copy an out mp4 确切地说 76 秒后复制 10 秒 并且不复制音频 然而out mp4长度为 5 秒 这是 ffmpeg 控制台输出
  • 在 Python 中使用音频流 RTMP 通过管道和 OpenCV 到 FFmpeg

    我正在尝试使用音频流式传输 FFmpeg 我将在下面展示我的代码 导入模块 import subprocess as sp 创建变量 rtmpUrl rtmp a rtmp youtube com live2 key camera path
  • JAVA - Xuggler - 组合 MP3 音频文件和 MP4 电影时播放视频

    使用 JAVA 和 Xuggler 以下代码组合 MP3 音频文件和 MP4 电影文件并输出组合的 mp4 文件 我希望在合并音频和视频文件时应自动播放输出视频文件 String inputVideoFilePath in mp4 Stri
  • 为 Windows Phone 8 构建 ffmpeg

    我如何为 Windows Phone 8 arm 构建 ffmpeg 我找不到任何有关它的信息 我可以在 Windows Phone 8 中从 C 调用 h 264 硬件编码器 解码器吗 看来媒体基金会太有限了 谢谢 据我所知 由于缺少工具

随机推荐

  • VS2010中Boost.Thread抛出bad_alloc异常

    包括后
  • 运行时错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

    我是 mysql 和 jdbc 的新手 我收到了这个标题中的错误 我一整天都在寻找 找不到适合我的解决方案 我尝试过的 卸载 重新安装mysql 将mysql connector java 5 1 25 bin jar和ojdbc7 jar
  • Setter 不能与 -=、+= 等一起使用吗? [复制]

    这个问题在这里已经有答案了 我不明白为什么我会收到零错误 我正确创建了设置器 但它不接受 或 运算符后面的本身 为什么 class Test def var var 0 end def var value var value end def
  • 如何打破这个 while(true) 循环?

    您好 我试图打破这个循环 并在两个 if 语句都为 true 时返回坐标 然而 循环永远不会结束 我该如何修复它 public static String positionQuery int dim Scanner test in Scan
  • Lodash uniqBy更新最新值

    我有一系列如下所示的对象 id 27 unread message count 0 id 27 unread message count 7 我使用 lodash uniqBy 删除重复项 如下所示 uniqBy data id 它删除了重
  • iPhone iCloud 应用程序在 iOS 4 上编译时崩溃

    我想使用 iCloud 但是当我在 iOS 4 3 模拟器上编译该应用程序时 它崩溃了 dyld 找不到符号 OBJC CLASS NSMetadataQuery 我应该怎样做才能使其在 iOS 3 4 和 5 上运行 我的解决方案是 NS
  • 任意解引用指针的输出

    我将内存填充如下 char buf 8 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 然后将 unsigned long 指针依次放在前 5 个字节上并输出结果 char c ptr unsigned lo
  • 编译 .java 文件时无法找到符号错误

    再会 我在同一目录中有两个类 Map 和 Field 我成功编译了 Field java 但是当我编译 Map java 时 我得到了这个 Map java 4 error cannot find symbol private Field
  • jQuery 创建带有 ID 的新 div?

    我的 ASP NET masterPage master 中有表单 如果我单击 提交 它会通过 ajax 调用 masterPage master cs 文件中的某些方法 我在更新面板中有它 但我想用 jQuery 改进它 所以我有这个 s
  • 代码在不应该生效的时候生效了

    我有一个功能 如果用户单击按钮 它将在文本框中显示一个值 并在单击 btn 按钮后执行另一个功能的触发 function addwindow numberAnswer gridValues btn mainNumberAnswerTxt v
  • 在 BeautifulSoup 中用字典解析脚本标签

    正在研究部分答案this问题 我遇到了一个bs4 element Tag这是一堆嵌套的字典和列表 s 以下 有没有办法返回包含的网址列表s without using re find all 关于此标签结构的其他评论也很有帮助 from b
  • Flash 图像上传需要强制裁剪吗?

    有人知道 Flash 文件 图像 上传器会强制用户在上传之前调整图像大小和 或裁剪图像吗 然后也上传它 基本上 我不希望我的服务器处理图像调整大小 裁剪 我想指定目标纵横比 并让用户调整大小并裁剪图像以使其适合 我以前见过裁剪上传器 但它们
  • 通过C连接oracle DB

    我想在Windows操作系统中使用C语言连接oracle数据库 但我不知道如何开始 以及先决条件是什么 任何人都可以为我提供任何帮助 教程或示例代码吗 谢谢 http www dreamincode net forums topic 307
  • JavaFX:同时有 2 个独立窗口

    我想一次创建2个独立的窗口 一个窗口将能够保存可观察的列表 另一个窗口将显示所选列表对象的属性 我正在尝试将列表视图创建为通用列表 并将其与特定于对象的窗口 例如客户属性 啤酒属性 商店属性 结合起来 简而言之 如果用户单击 客户 它将显示
  • Worklight 和 jquery:我想要获取 xml 中存在的链接并使用行动态标记它们?

    上面附加了我的图像 该图像将其提取到远程服务器 其显示为内容页面中的行 我在同一个 xml 中有链接 我想将该链接标记为该行 然后单击它 用户应该加载页面 我怎样才能获取它 function displayFeeds items var u
  • 如何从文本文件中读取单词并将其添加到字符串数组中?

    这是我的函数 调用方式为 getWord words void getWord char words MAXWORDLENGTH int i char newWord MAXWORDLENGTH FILE file file fopen w
  • 如何使用 android 列出 ftp 目录?

    已解决 如何获取 ftp 服务器上的文件和文件夹列表 我知道如何连接和上传文件 但不知道如何获取目录列表 try FTPClient ftpClient new FTPClient ftpClient connect InetAddress
  • 如何检索cameraID并使用setTorchMode?

    Android M 最近问世了 它现在有一个内置的相机灯功能 称为 setTorchMode 我很好奇它是如何工作的 因为参数是 字符串cameraID 布尔值真 假 布尔值显然决定了灯是打开还是关闭 但是如何获取cameraID呢 我知道
  • 如何运行 JAR 文件

    我创建了一个像这样的 JAR 文件 jar cf Predit jar 我通过双击这个 JAR 文件来运行它 它不起作用 所以我从 DOS 提示符下运行它 如下所示 java jar Predit jar 它引发了 无法加载主类 异常 所以
  • ffmpeg:转换前后的视频长度不同

    我有一组 mov 视频 需要转换为 mp4 格式 我正在使用 ffmpeg 并运行以下命令 ffmpeg i Banking mov vsync async sameq ac 1 ab 64k ar 44100 Banking mp4 输入