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:转换前后的视频长度不同 的相关文章

  • ffprobe/ffmpg 静音检测命令

    我正在研究流静音检测 它正在 ffmpeg 中执行以下命令 ffmpeg i http mystream com stream af silencedetect n 50dB d 0 5 f null 2 gt log txt 我想获得日志
  • 使用 ffmpeg 转换真实媒体

    我有许多旧的硬壳真实媒体文件需要转换 并希望编写一个脚本来批量处理它们 我可以使用 FFMpegX 进行 Real Media gt AVI 转换 但是当我尝试使用 ffmpeg 复制转换时 它总是会出现如下错误 avi 0x10084fa
  • pictureBox 图片处理异常

    我最近想尝试一下锻造网 http www aforgenet com framework 因为我发现它非常简单 所以我决定使用 Video FFMPEG 命名空间进行一些简单的视频播放 这样我就可以将每个帧直接放在 pictureBox 上
  • FFmpeg - H264 编码器找不到有效设备并且无法配置编码器

    我尝试使用 H264 编码器进行编码 但是当我这样做时 出现以下错误 h264 v4l2m2m 0x55682d2416c0 Could not find a valid device h264 v4l2m2m 0x55682d2416c0
  • 使用 ffmpeg 从 unix 命令批量将 wav 文件转换为 16 位

    我有一个由许多子文件夹组成的文件夹 每个子文件夹都有其他子文件夹 其中包含 wav 文件 我想像这样转换所有文件 ffmpeg i BmBmGG BmBmBmBm wav acodec pcm s16le ar 44100 BmBmGG B
  • 如何使用 ffmpeg 提取时间精确的视频片段?

    这并不是一个特别新的问题领域 但我已经尝试过那里建议的内容 但运气不佳 那么 我的故事 我有一大段 15 秒的直接来自camera mov 视频 我想从中提取特定的块 我可以通过开始时间和停止时间 以秒为单位 来识别该块 我首先尝试执行我称
  • C# - 捕获 RTP 流并发送到语音识别

    我正在努力实现的目标 在 C 中捕获 RTP 流 将该流转发到 System Speech SpeechRecognitionEngine 我正在创建一个基于 Linux 的机器人 它将接受麦克风输入 将其发送给 Windows 机器 Wi
  • VLC 和 ffmpeg 如何协同工作?

    我从源代码编译了VLC 它运行良好 当我执行 Vlc 时 vlc 运行 我还从源代码编译了 ffmpeg 它也运行良好 当我执行 ffmpeg i f toto flv mp3 vn acodec copy new toto mp3 时 会
  • MP4 到 DASH(bash 脚本)

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

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

    第一次来这里所以要温柔 我已经在给定的 H 264 字节流上工作了几个星期 一般注意事项 字节流不是来自文件 它是从外部源实时提供给我的 字节流使用 Android 的媒体编解码器进行编码 当将流写入扩展名为 H264的文件时 VLC能够正
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • 适用于 iPhone 和 HTTP 直播的实时视频聊天

    所以一般来说 我想为 iPhone 制作一个具有视频聊天功能的应用程序 但经过多次搜索 我仍然找不到任何成功的结果 是否有任何公共或私有 API 可用于在 iPhone 上执行此操作 如果您的答案是 是 请帮助我 基本上 我想要的是读取连接
  • OpenCV VideoWriter 未写入 Output.avi

    我正在尝试编写一段简单的代码来获取视频 裁剪视频并写入输出文件 系统设置 OS Windows 10 Conda Environment Python Version 3 7 OpenCV Version 3 4 2 ffmpeg Vers
  • 如何在Mac上使用AVFoundation将图片编码为H264,而不是使用x264

    我正在尝试制作一个 Mac 广播客户端 使用 FFmpeg 但不使用 x264 库编码为 H264 所以基本上 我可以从 AVFoundation 中获取原始帧CMSampleBufferRef or AVPicture 那么有没有一种方法
  • 为什么处理时间随着修剪位置的增加而增加?

    我最近一直在使用ffmpeg修剪一些视频 我注意到随着修剪位置的增加 修剪视频所花费的时间也会增加 即使持续时间相同 5 seconds 下面给出了修剪视频的命令0 to 5秒 处理仅需1秒 ffmpeg y i input mp4 fil
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • 使用 FFMPEG 添加覆盖并最少重新编码

    FFMPEG 对于剪切视频的一部分非常有用 而无需重新编码视频 我知道也可以使用 FFMPEG 添加叠加图像到视频的某个部分 例如从 10 秒到 20 秒 我的问题是 如果我对图像进行叠加 整个视频是否会因此而重新编码 或者只对相关的持续时
  • 如何在服务器上使用 ffmpeg 从 WebRTC 流获取音频和视频

    我正在尝试从 WebRTC 流获取音频和视频 并在 ubuntu 服务器上使用 ffmpeg 处理它 转码或转储 我天真地期望它能简单地解释 WebRTC 提供的 sdp 但我错了 我怀疑 ffmpeg 无法发回答案 sdp 必须手动完成
  • 将 ffmpeg 编译为独立二进制文件

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

随机推荐

  • 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 输入