gpt4 book ai didi

video - 使用 FFmpeg 对 GoToMeeting 输出进行转码时出现问题

转载 作者:行者123 更新时间:2023-12-04 22:49:40 26 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


8年前关闭。







Improve this question




我正在做噩梦,将 GoToMeeting 的输出(使用最新的 OS X 版本录制)转码为可网络播放的内容。无论我使用什么设置,我最终都会遇到时间同步问题,至少在这个特定的记录中是这样。
.mov文件看起来像这样。请注意,它是可变帧速率,并且因为它主要是 PowerPoint 演示文稿的屏幕录像,偶尔会有鼠标移动,所以输出也应该是 VFR 以生成一个小文件,但仍保留偶尔的运动。

$ ffmpeg -i original.mov
ffmpeg version N-58273-g18df75f Copyright (c) 2000-2013 the FFmpeg developers
built on Nov 19 2013 10:34:42 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libass --enable-libcelt --enable-libfaac --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-openssl --enable-libopus --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --prefix=/usr/local
libavutil 52. 53.100 / 52. 53.100
libavcodec 55. 43.101 / 55. 43.101
libavformat 55. 21.100 / 55. 21.100
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 91.100 / 3. 91.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f822980a000] decoding for stream 0 failed
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2014-03-20 02:09:22
Duration: 03:08:26.72, start: 0.000000, bitrate: 75 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1368x728 [SAR 1:1 DAR 171:91], 20 kb/s, 0.60 fps, 600 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2014-03-20 02:09:22
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 16000 Hz, mono, fltp, 47 kb/s (default)
Metadata:
creation_time : 2014-03-20 02:09:22
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (rtp / 0x20707472), 6 kb/s
Metadata:
creation_time : 2014-03-20 02:09:22
handler_name : Apple Alias Data Handler
Stream #0:3(und): Data: none (rtp / 0x20707472), 0 kb/s
Metadata:
creation_time : 2014-03-20 02:09:22
handler_name : Apple Alias Data Handler
.mov文件(很遗憾我不能公开发布)在我使用的任何应用程序中都能正常播放:VLC、Media Player Classic 和 QuickTime。但是,播放转码后的输出总是会出现以下症状:
  • 音频与视频显示的内容不同步,有时在这三个小时的录制结束时会出现几分钟的差异
  • 在 Media Player Classic 的情况下,单击时间轴上的一个点实际上会将播放头移动到时间轴上我单击的位置附近的一个点,但不是直接在它上面。

  • 我正在使用 .mp4 的参数可在所有支持 H.264 的浏览器中播放的编码。请注意,这是在 Windows 上,但 Linux 会出现同样的问题。
    ffmpeg.exe -y -i original.mov -i watermark.png -filter_complex "[0:v] crop=1184:720:178:6,scale=1184:720,setsar=1/1; [0:v][1:v] overlay=1242:648 [0:v]" -vcodec libx264 -acodec libvo_aacenc -q:a 80 -crf 30 -ac 1 -ar 16000 -strict -2 -profile:v baseline -level 3 outout.mkv
    除了那些不言自明或微不足道的论点之外的论点:
  • -filter_complex :裁剪视频中多余的信箱/邮筒,并将方形像素的纵横比设置为 1:1(Safari 需要),然后从 PNG 覆盖水印并将输出大小调整为 720p
  • -crf 30 : 以恒定质量、可变比特率对视频进行编码
  • -ac 1 -ar 16000 : 使用 16 KHz 的单声道音频进行编码
  • -strict -2 -profile:v baseline -level 3 : 使用 FFmpeg 的“实验性”H.264 编码器进行编码,使用 Baseline 3 级配置文件以实现 Web 兼容性

  • 请注意,是的,这最初是转到 MKV 容器,因为出于某种原因,直接编码为 .mp4容器挂起FFmpeg。然后我使用 -acodec copy -vcodec copy将音频和视频流直接复制到 .mp4容器。最后,我将输出通过 MP4Box 进行交错,以便逐步下载。

    转码时,FFmpeg 确实丢帧,我怀疑这与问题有关,输出如下:
    FFmpeg: frame=  232 fps= 26 q=24.0 size=    5983kB time=00:32:44.57 bitrate=  24.9kbits/s dup=0 drop=1487

    当我稍后尝试将其复用到 .mp4来自这个临时 .mkv 的容器容器,我收到大量这样的警告:
    [mp4 @ 0297cd00] Non-monotonous DTS in output stream 0:0; previous: 6341306, current: 6007024; changing to 6341307. This may result in incorrect timestamps in the output file.

    现在,如果源文件确实存在问题,我不会感到惊讶。但是,如果是这样,我需要明确证明它是如何被破坏的。

    有什么想法吗?

    最佳答案

    我也一直在为此苦苦挣扎。帮助我的是:

    http://forum.doom9.org/showthread.php?t=163290

    一位用户发文:

    ffmpeg -fflags +genpts+igndts -i -r:v 30 -vsync 2 -async 1 -map 0:v,0:a -map 0:a

    所以我用:

    nice -n 7 ffmpeg -fflags +genpts+igndts -i inFile.mov -c:v libx264 -preset slow -level 30 -qmin 38 -qmax 55 -movflags faststart -r:v 10 -vsync 2 -async 1 -map 0 :v,0:a -map 0:a outFile.mp4

    关于video - 使用 FFmpeg 对 GoToMeeting 输出进行转码时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22674924/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com