У меня есть видео в .ogv и я хочу преобразовать его в .mp4, чтобы я мог загрузить его на YouTube.

Я пытаюсь ffmpeg для этого:

ffmpeg -i *.ogv -acodec libmp3lame -vcodec libx264 -crf 18 Windup-demo.mp4

После преобразования видео не синхронизировано - звук звучит нормально, но видео, кажется, торопится. Оригинальное видео записывается с использованием RecordMyDesktop, 5 кадров в секунду, стерео аудио 48000 сэмплов в секунду.

Что я могу попытаться исправить это?

(Я принимаю любой результат, который доставит видео на YouTube.)

Я пробовал ffmpeg -r 5 -i Windup-2.5.0-shortDemo-04.ogv -acodec libmp3lame -vcodec h264 -r 5 Windup-demoX.mp4 , безуспешно - синхронизация стала еще хуже.

РЕДАКТИРОВАТЬ: я пробовал ffmpeg -r 5 -i Windup-2.5.0-shortDemo-04.ogv -acodec libmp3lame -vcodec libx264 -r 5 -vsync cfr Windup-demoX.mp4 или с vfr но безуспешно.

Поэтому вопрос сводится к тому, «как заставить ffmpeg использовать правильную выходную частоту кадров.

Я также попробовал статическую сборку с http://johnvansickle.com/ffmpeg/ . Я пытался закодировать его обратно в OGV, используя -vcodec libtheora , но это не удавалось с «недопустимой опцией», не понял , в чем дело.

Я также пробовал ffmpeg -loglevel info -r:v 5 -framerate 5 -i Windup-2.5.0-shortDemo-04.ogv -acodec copy -vcodec h264 -r 15 Windup-demoX.mp4 . -framerate должен использоваться в качестве входного параметра, но он говорит:«Опция частоты кадров не найдена». Для вывода это работает.

$ ffmpeg -i Windup-2.5.0-shortDemo-04.ogv -acodec libmp3lame -vcodec libx264 -crf 18 Windup-demoX.mp4
ffmpeg version N-79139-gde1a0d4 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 30.100 / 57. 30.100
  libavformat    57. 29.101 / 57. 29.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 40.102 /  6. 40.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.
Input #0, ogg, from 'Windup-2.5.0-shortDemo-04.ogv':
  Duration: 00:06:13.00, start: 0.000000, bitrate: 1134 kb/s
    Stream #0:0: Data: none
    Stream #0:1: Video: theora, yuv420p, 1920x1056 [SAR 1:1 DAR 20:11], 5 tbr, 5 tbn, 5 tbc
    Metadata:
      RECORDMYDESKTOP : 0.3.8.1
    Stream #0:2: Audio: vorbis, 48000 Hz, stereo, fltp, 499 kb/s
[libx264 @ 0x30beec0] using SAR=1/1
[libx264 @ 0x30beec0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x30beec0] profile High, level 4.0
[libx264 @ 0x30beec0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Windup-demoX.mp4':
  Metadata:
    encoder         : Lavf57.29.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1056 [SAR 1:1 DAR 20:11], q=-1--1, 5 fps, 10240 tbn, 5 tbc
    Metadata:
      RECORDMYDESKTOP : 0.3.8.1
      encoder         : Lavc57.30.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) (i[0][0][0] / 0x0069), 48000 Hz, stereo, fltp
    Metadata:
      encoder         : Lavc57.30.100 libmp3lame
Stream mapping:
  Stream #0:1 -> #0:0 (theora (native) -> h264 (libx264))
  Stream #0:2 -> #0:1 (vorbis (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.trate=  55.0kbits/s speed=  35x
[ogg @ 0x30b7d60] Broken file, non-keyframe not correctly marked.
    Last message repeated 3 times
[ogg @ 0x30b7d60] Broken file, non-keyframe not correctly marked.e=  84.6kbits/s dup=18 drop=0 speed=29.4x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 141.2kbits/s dup=46 drop=0 speed=22.5x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 179.3kbits/s dup=50 drop=0 speed=23.3x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 487.8kbits/s dup=51 drop=0 speed=21.4x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 518.6kbits/s dup=55 drop=0 speed=21.2x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 494.7kbits/s dup=93 drop=0 speed=  21x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 457.5kbits/s dup=93 drop=0 speed=21.8x
    Last message repeated 1 times
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 409.8kbits/s dup=93 drop=0 speed=23.2x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 375.2kbits/s dup=93 drop=0 speed=24.2x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 391.1kbits/s dup=124 drop=0 speed=23.2x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 389.7kbits/s dup=147 drop=0 speed=23.1x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 392.5kbits/s dup=193 drop=0 speed=22.5x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 377.9kbits/s dup=195 drop=0 speed=22.8x
    Last message repeated 1 times
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 368.9kbits/s dup=195 drop=0 speed=23.1x
    Last message repeated 1 times
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 355.5kbits/s dup=195 drop=0 speed=23.5x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 404.0kbits/s dup=244 drop=0 speed=22.5x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 392.9kbits/s dup=284 drop=0 speed=22.6x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 378.4kbits/s dup=284 drop=0 speed=22.9x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 371.0kbits/s dup=318 drop=0 speed=  23x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 364.4kbits/s dup=366 drop=0 speed=22.9x
    Last message repeated 1 times
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 351.5kbits/s dup=366 drop=0 speed=23.4x
[ogg @ 0x30b7d60] Broken file, keyframe not correctly marked.itrate= 341.4kbits/s dup=366 drop=0 speed=23.7x
frame= 1026 fps= 63 q=-1.0 Lsize=   16452kB time=00:06:12.51 bitrate= 361.8kbits/s dup=400 drop=0 speed=22.8x
video:10602kB audio:5820kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.180144%
[libx264 @ 0x30beec0] frame I:9     Avg QP: 3.21  size:226053
[libx264 @ 0x30beec0] frame P:317   Avg QP:12.28  size: 26964
[libx264 @ 0x30beec0] frame B:700   Avg QP:17.44  size:   391
[libx264 @ 0x30beec0] consecutive B-frames:  8.3%  1.6%  2.0% 88.1%
[libx264 @ 0x30beec0] mb I  I16..4: 72.1% 10.0% 17.9%
[libx264 @ 0x30beec0] mb P  I16..4:  4.8%  0.4%  1.8%  P16..4:  3.3%  0.7%  0.5%  0.0%  0.0%    skip:88.5%
[libx264 @ 0x30beec0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  1.4%  0.0%  0.0%  direct: 0.1%  skip:98.4%  L0:31.6% L1:67.9% BI: 0.5%
[libx264 @ 0x30beec0] 8x8 transform intra:7.4% inter:68.2%
[libx264 @ 0x30beec0] coded y,uvDC,uvAC intra: 18.2% 26.7% 23.3% inter: 0.5% 1.3% 1.1%
[libx264 @ 0x30beec0] i16 v,h,dc,p: 57% 42%  0%  0%
[libx264 @ 0x30beec0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 21% 51%  1%  1%  1%  1%  1%  2%
[libx264 @ 0x30beec0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 32% 19%  3%  4%  4%  5%  3%  5%
[libx264 @ 0x30beec0] i8c dc,h,v,p: 54% 34% 12%  1%
[libx264 @ 0x30beec0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x30beec0] ref P L0: 83.0%  2.9%  9.8%  4.4%
[libx264 @ 0x30beec0] ref B L0: 83.0% 15.4%  1.5%
[libx264 @ 0x30beec0] ref B L1: 91.9%  8.1%
[libx264 @ 0x30beec0] kb/s:423.23

1 ответ1

0

То, что я сделал в конце, было немного смешно.

Я воспроизвел видео в VLC и записал его снова с помощью RecordMyDesktop с 30 кадрами в секунду и с опцией "полный кадр каждый кадр". У этого был ужасный звук, но YouTube съел это.

Затем я загрузил еще одну версию с рассинхронизированным видео, но с хорошим звуком. Затем я использовал редактор YouTube, чтобы смешать эти два. Результат немного "визуально оспаривается", но, по крайней мере, мне не нужно перезаписывать его.

Я все еще принимаю что-то лучше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .