ffmpeg - videó vágása - megcsúszik

Üdv!

 

Van egy 25+ perces videó, amiből megpróbálnál kivágni a 16. perctől keződő részt a végéig az alábbi paranccsal:

 

ffmpeg -i vid.mp4 -ss 16:00 -c copy vid_p2.mp4

A keletkezett videóban a hang és a kép megcsúszik. A hang jó, de a videó első képkockája a 16. perc előttről származik, nagyjából 15:52-ről.

A forrásfájlnál nem volt szükséges framedropping-ot, vagy hardframedroppingot használni lejátszásnál.

 

Próbáltam még hozzáadni egy

-async 1

-et is, de az sem segített.

 

Mi lehet a probléma? Illetve a megoldása?

A videóról a fájl ennyit mond: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]

illetve az

ffmpeg -i vid.mp4 
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 10 (Debian 10.2.1-6)
  configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
  Duration: 00:31:45.13, start: 0.000000, bitrate: 339 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240 [SAR 3:4 DAR 1:1], 74 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandle
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      handler_name    : SoundHandle
At least one output file must be specified

Hozzászólások

Ha 15.52-t adod meg, hogy a keyframe pont ott legyen? Utana meg1x vagni 0.08-nal?

Én vagyok a CLI legnagyobb híve, de a videóvágás az egy olyan műfaj, ahol kivételesen van értelme a GUI-nak. Csináld inkább Kdenlive, OpenShot vagy Blender valamelyikével. Elvileg az ffmpeg is meg tudja csinálni, ha meg tudod neki mutatni index frame-re pontosan, de körülményes.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”

Tud videót vágni és szerkeszteni is. Nem csak 3D renderre képes. Azért említettem külön, mert általában nem ismerik, hogy lehet vele ilyet is. Bár sokan nem szeretik, mert a videóvágásos részének a logikája eléggé eltér a hagyományos videószerkesztőktől.

Esetleg egyszerű videóvágásra az avidemux is kipróbálható. A neve megtévesztő, mert nem csak .avi videókat tud vágni, hanem bármilyet, amelyiknek a codec-jét támogatja.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”