3

I'm having a film that's ffmpeg and other progs claims to be 07:03:52 long, but the real playtime is actually more like 2:35:00

ffprobe video.mp4
ffprobe version 3.0.2 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 5.3.1 (Debian 5.3.1-17) 20160429
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libtesseract --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mipsdsp --disable-mips32r2 --disable-msa --disable-mipsfpu --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libkvazaar --enable-libsnappy --enable-libsoxr --enable-libiec61883 --enable-vaapi --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2012-12-12 07:03:52
  Duration: 07:13:45.09, start: 0.000000, bitrate: 274 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x528 [SAR 1:1 DAR 80:33], 601 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2012-12-12 07:03:52
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 92 kb/s (default)
    Metadata:
      creation_time   : 2012-12-12 07:04:15
      handler_name    : GPAC ISO Audio Handler

Is there any one who can help me fix the playtime / duration with a terminal command on debian/centos

I have HandBrake-cli + FFmpeg installed

UPDATE Thought: since the video plays perfectly in various players and the frame-rate is right, how comes, that encoders like HandBrake and ffmpeg can't calculate the right duration?

UPDATE 2 - Solution I duckduckgo.com it and found a usable solution on a well.. torrent site

ffmpeg -i video.mp4 -t 2:09:39 -c:v copy -c:a copy -c:s copy out.mp4

How ever, this is not an repairing or any acclimatisation of the job, but it worked.

So summon up what this does

Any optimization or acclimatisation of this workload is still welcome

  • 1
    07:03:52 is being reported as the creation time, although the estimated duration is 07:13:45.09. Try a remux: ffmpeg -i video.mp4 -c copy out.mp4 – Gyan Nov 9 '16 at 18:54
  • Hi @Mulvya thx for your replay and suggestion, tried this, but it gives the same playtime error. Did also try to convert it to other formats like webm, avi, mov etc... same thing :( – Joakim Nov 9 '16 at 19:25
  • Except for the manual time option, your solution is the same as mine. Run ffprobe video.mp4 -show_entries stream=codec_type,start_time,duration -of compact and show the output. – Gyan Nov 10 '16 at 2:34
  • Hi thought I had replied to this thread, but I did find the solution by using the -s -ss options to simply cut the length of the video and now it's playing lovely – Joakim Jan 7 '17 at 16:26
  • Refer to Format (container) duration – Kris Roofe Aug 6 '19 at 8:02
0

I had the same problem. I solved that by removing the audio from video. This is why the video seems frozen but it continues to play it, due to audio duration.

For that reason, you may remove entire audio from video file using "-an" ffmpeg option. When it removed, no incorrect time in video exists. You may extract audio from the initial video file, match its duration time with the video duration, and then, you encode video and audio files together, resulting no frozen video frames play.

eg.

ffmpeg -i video_to_encode.MP4  -r 16 -crf 18  -vcodec libx264 -vb 10M -an  video_output.avi
| improve this answer | |
0

I'm not too much technical but when I research on Internet found the way how can I repair corrupt video files using FFmpeg using its command lines. I will share the post which describe full efforts to repair the distorted video files.

Resource : https://www.stellarinfo.com/blog/repair-corrupt-videos-using-ffmpeg/

| improve this answer | |
  • Welcome! "See this link" answers are strongly discouraged because if the link becomes unavailable, the answer is no longer helpful. Can you summarize or paraphrase the contents of the link? – Michael Liebman Jun 18 at 1:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.