ffmpeg - unterschiedliche Ein- und Ausgabedauer

4

Ich habe ein seltsames Laufzeitproblem beim Konvertieren von Videos von MP4 in FLV. Es gibt auch eine andere "start_time", was ist das? Was bedeutet start_time?

input duration - 0:00:29.577000
input start_time - 0:00:00.000000

output duration - 0:00:51.518000
output start_time - 0:00:21.840000

ffmpeg Befehl:

ffmpeg -y -i 18579-1386758783533.mp4 -c:a libfdk_aac -b:a 128k -ar 22050 -c:v libx264 -pix_fmt yuv420p -s 1920x1080 -framerate 30 v18579-1386758783533.flv

FFprobe - Eingabedatei:

dead@dead-work-desktop:~/36369/wowzaoutput$ ffprobe 18579-1386758783533.mp4 
ffprobe version git-2013-11-29-0d640c0 Copyright (c) 2007-2013 the FFmpeg developers
  built on Nov 29 2013 11:54:34 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
  libavutil      52. 55.100 / 52. 55.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 21.102 / 55. 21.102
  libavdevice    55.  5.102 / 55.  5.102
  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 @ 0x39cb280] decoding for stream 0 failed
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '18579-1386758783533.mp4':
  Metadata:
    major_brand     : f4v 
    minor_version   : 0
    compatible_brands: isommp42m4v 
    creation_time   : 2013-12-11 10:46:22
  Duration: 00:00:29.58, start: 0.000000, bitrate: 134 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 640x360 [SAR 1:1 DAR 16:9], 121 kb/s, 6.53 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro
    Stream #0:1(eng): Audio: speex (spex / 0x78657073), 16000 Hz, mono, s16, 11 kb/s (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro

FFprobe - Ausgabedatei:

dead@dead-work-desktop:~/36369/wowzaoutput$ ffprobe v18579-1386758783533.flv
ffprobe version git-2013-11-29-0d640c0 Copyright (c) 2007-2013 the FFmpeg developers
  built on Nov 29 2013 11:54:34 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
  libavutil      52. 55.100 / 52. 55.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 21.102 / 55. 21.102
  libavdevice    55.  5.102 / 55.  5.102
  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
Input #0, flv, from 'v18579-1386758783533.flv':
  Metadata:
    major_brand     : f4v 
    minor_version   : 0
    compatible_brands: isommp42m4v 
    encoder         : Lavf55.21.100
  Duration: 00:00:51.52, start: 21.840000, bitrate: 366 kb/s
    Stream #0:0: Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30.33 tbr, 1k tbn, 60 tbc
    Stream #0:1: Audio: aac, 22050 Hz, mono, fltp, 128 kb/s

Vollständige ffmpeg-Befehlszeilenausgabe:

dead@dead-work-desktop:~/36369/wowzaoutput$ ffmpeg -y -i 18579-1386758783533.mp4 -c:a libfdk_aac -b:a 128k -ar 22050 -c:v libx264 -pix_fmt yuv420p -s 1920x1080 -framerate 30 1v18579-1386758783533.flv
ffmpeg version git-2013-11-29-0d640c0 Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov 29 2013 11:54:34 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
  libavutil      52. 55.100 / 52. 55.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 21.102 / 55. 21.102
  libavdevice    55.  5.102 / 55.  5.102
  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 @ 0x29f3b00] decoding for stream 0 failed
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '18579-1386758783533.mp4':
  Metadata:
    major_brand     : f4v 
    minor_version   : 0
    compatible_brands: isommp42m4v 
    creation_time   : 2013-12-11 10:46:22
  Duration: 00:00:29.58, start: 0.000000, bitrate: 134 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 640x360 [SAR 1:1 DAR 16:9], 121 kb/s, 6.53 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro
    Stream #0:1(eng): Audio: speex (spex / 0x78657073), 16000 Hz, mono, s16, 11 kb/s (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro
[libx264 @ 0x29f8f60] using SAR=1/1
[libx264 @ 0x29f8f60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x29f8f60] profile High, level 4.0
[libx264 @ 0x29f8f60] 264 - core 140 r2 1ca7bb9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - 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=6 lookahead_threads=1 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to '1v18579-1386758783533.flv':
  Metadata:
    major_brand     : f4v 
    minor_version   : 0
    compatible_brands: isommp42m4v 
    encoder         : Lavf55.21.102
    Stream #0:0(eng): Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 1k tbn, 30 tbc (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro
    Stream #0:1(eng): Audio: aac (libfdk_aac) ([10][0][0][0] / 0x000A), 22050 Hz, mono, s16, 128 kb/s (default)
    Metadata:
      creation_time   : 2013-12-11 10:46:22
      handler_name    : WowzaMediaServerPro
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
  Stream #0:1 -> #0:1 (libspeex -> libfdk_aac)
Press [q] to stop, [?] for help
frame=  193 fps= 16 q=-1.0 Lsize=    2300kB time=00:00:29.60 bitrate= 636.4kbits/s    
video:1821kB audio:464kB subtitle:0 global headers:0kB muxing overhead 0.648628%
[libx264 @ 0x29f8f60] frame I:3     Avg QP:15.65  size: 31001
[libx264 @ 0x29f8f60] frame P:110   Avg QP:22.60  size: 12905
[libx264 @ 0x29f8f60] frame B:80    Avg QP:25.85  size:  4399
[libx264 @ 0x29f8f60] consecutive B-frames: 24.9% 56.0% 10.9%  8.3%
[libx264 @ 0x29f8f60] mb I  I16..4: 17.6% 76.5%  5.9%
[libx264 @ 0x29f8f60] mb P  I16..4:  6.9% 17.2%  0.2%  P16..4: 22.4%  3.4%  1.2%  0.0%  0.0%    skip:48.7%
[libx264 @ 0x29f8f60] mb B  I16..4:  0.4%  0.5%  0.0%  B16..8: 22.2%  1.0%  0.1%  direct: 1.4%  skip:74.3%  L0:45.4% L1:52.8% BI: 1.8%
[libx264 @ 0x29f8f60] 8x8 transform intra:71.0% inter:91.3%
[libx264 @ 0x29f8f60] coded y,uvDC,uvAC intra: 16.3% 19.8% 0.9% inter: 4.7% 7.2% 0.0%
[libx264 @ 0x29f8f60] i16 v,h,dc,p: 23% 17%  5% 54%
[libx264 @ 0x29f8f60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 51% 14% 22%  2%  2%  2%  2%  3%  1%
[libx264 @ 0x29f8f60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 48% 18% 12%  3%  7%  4%  3%  3%  1%
[libx264 @ 0x29f8f60] i8c dc,h,v,p: 69% 13% 17%  2%
[libx264 @ 0x29f8f60] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x29f8f60] ref P L0: 75.4%  4.7% 14.1%  5.8%
[libx264 @ 0x29f8f60] ref B L0: 88.6% 10.9%  0.5%
[libx264 @ 0x29f8f60] ref B L1: 98.2%  1.8%
[libx264 @ 0x29f8f60] kb/s:504.48

Eingabedatei Verknüpfung

Andrew Surzhynskyi
quelle
1
Können Sie die vollständige Befehlszeilenausgabe der tatsächlichen Konvertierung anzeigen?
slhck
Sicher. Fügte es meiner Frage hinzu
Andrew Surzhynskyi
Können Sie eine Eingabedatei bereitstellen? Setzen Sie es auf File-Hosting oder so?
ptQa
Eingabedatei-Link zur Frage hinzugefügt.
Andrew Surzhynskyi
Nun, diese Datei kann nicht mit ffplay oder vlc abgespielt werden, sagt ffmpeg: [mov, mp4, m4a, 3gp, 3g2, mj2 @ 0xe7f200] decodierung für stream 0 fehlgeschlagen Woher haben Sie diese Eingabe?
ptQa

Antworten:

2

Ich habe Ihr .mp4-Videobeispiel heruntergeladen und es wird sehr schlecht abgespielt, wenn ich den Dateityp nicht in ändere .f4v. Das Video bleibt einige Zeit stehen, während der Ton abgespielt wird. Nach etwa 21 Sekunden beginnt sich das Video zu bewegen und synchronisiert sich mit dem Ton.

Es scheint mir, dass die schlechte Konvertierung, die Sie erhalten, nur den tatsächlichen Zustand widerspiegelt dein Video.

Ich stelle fest, dass der Unterschied output duration - output start_time ist das gleiche vor und nach der Konvertierung scheint es, dass sich ffmpeg in seiner Konvertierung gerade widerspiegelt Das vorhandene Präsentationsproblem wurde zu Beginn dieses Videos gefunden.

Ich empfehle Ihnen, eine andere Aufnahmemethode für Ihre Webcam zu finden. denn offensichtlich erzeugen Ihre aktuelle Methode und Software ungültige Videodateien. Ich finde es auch merkwürdig, dass die .mp4-Datei mit dem Flash-Codec von f4v codiert wird.

harrymc
quelle
Das gleiche habe ich über die Ausgabedauer festgestellt - Ausgabe start_time. Dies ist nicht nur ein Video von meiner Webcam, sondern nur ein Beispiel. Dieses Video wurde von Wowza Media Server aufgenommen, aber ich kann nicht einmal einen Tag für Wowza Media Server hier bei Superuser finden.
Andrew Surzhynskyi
Ich kenne Wowza nicht, aber dieses Beispielvideo hat zu Beginn ein Problem. Wenn nicht alle von Wowza generierten Videos auf diese Weise erstellt wurden, müssen Sie eines veröffentlichen, das korrekt abgespielt wird, aber nach ffmpeg noch ein Problem mit start_time hat. Ich vermute, dass es keine gibt.
harrymc
Ja, du hast recht, es gibt keine.
Andrew Surzhynskyi