Weg, um Miniaturbild mit q-Wert zu extrahieren, ist über 5.0 im Befehl ffmpeg?

780
Juneyoung Oh

Ich habe die Frage bearbeitet (danke für den Rat.). Wenn ich ein Vorschaubild aus ffmpeg extrahiere, kann ich am Ende der Nachricht eine solche Nachricht erhalten.

# ffmpeg -ss 600 -i /home/juneyoungoh/Videos/T30644_19_120412.ts.pac -vframes 1 -y /home/juneyoungoh/aaaaaaaaaaaaaaaaaaa.jpg ffmpeg version git-2013-05-31-9d56ccf Copyright (c) 2000-2013 the FFmpeg developers built on May 30 2013 21:34:51 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-x11grab --enable-libx264 --enable-nonfree --enable-version3 libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 12.102 / 55. 12.102 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 73.100 / 3. 73.100 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 742 DC, 742 AC, 742 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra4x4 mode -1 at 0 5 [h264 @ 0x32da920] error while decoding MB 0 5, bytestream (4350) [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 1174 DC, 1174 AC, 1174 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra4x4 mode -1 at 0 18 [h264 @ 0x32da920] error while decoding MB 0 18, bytestream (1641) [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 589 DC, 589 AC, 589 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra mode at 0 9 [h264 @ 0x32da920] error while decoding MB 0 9, bytestream (2331) [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 994 DC, 994 AC, 994 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra mode at 0 22 [h264 @ 0x32da920] error while decoding MB 0 22, bytestream (269) [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 409 DC, 409 AC, 409 MV errors in P frame [mpegts @ 0x32d68a0] max_analyze_duration 5000000 reached at 5013333 microseconds Input #0, mpegts, from '/home/juneyoungoh/Videos/T30644_19_120412.ts.pac': Duration: 00:59:01.21, start: 10.000000, bitrate: 2309 kb/s Program 1  Stream #0:0[0x200]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.93 tbc Stream #0:1[0x201]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 187 kb/s Output #0, image2, to '/home/juneyoungoh/aaaaaaaaaaaaaaaaaaa.jpg': Metadata: encoder : Lavf55.8.102 Stream #0:0: Video: mjpeg, yuvj420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc Stream mapping: Stream #0:0 -> #0:0 (h264 -> mjpeg) Press [q] to stop, [?] for help [h264 @ 0x32da920] Missing reference picture, default is 0 [h264 @ 0x32da920] decode_slice_header error [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 686 DC, 686 AC, 686 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra mode at 0 28 [h264 @ 0x32da920] error while decoding MB 0 28, bytestream (6046) [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 139 DC, 139 AC, 139 MV errors in P frame [h264 @ 0x32da920] Cannot use next picture in error concealment [h264 @ 0x32da920] concealing 830 DC, 830 AC, 830 MV errors in P frame [h264 @ 0x32da920] left block unavailable for requested intra mode at 0 17 [h264 @ 0x32da920] error while decoding MB 0 17, bytestream (11936) [h264 @ 0x32da920] concealing 634 DC, 634 AC, 634 MV errors in I frame frame= 1 fps=0.0 q=5.0 Lsize=N/A time=00:00:00.03 bitrate=N/A  video:23kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.091663% 

Ich denke, dieser Teil "frame = 1 fps = 0.0 q = 5.0 Lsize = N / A time = 00: 00: 00.03 bitrate = N / A" zeigt Informationen zur Ausgabedatei (in diesem Fall jpg-Bilddatei).

Was ich suche, ist der Weg, Miniaturbilder aus Videodateien zu extrahieren, nur bei "q> = 5.0". (Ich denke, dass "q" Qualität bedeutet. Ich wusste, dass es eine Option "q" gibt, die aber eine andere Bedeutung haben kann )

  1. Ich werde auf einen bestimmten Punkt des Videos über die Option 'ss' zugreifen.
  2. Ich werde prüfen, ob diese Rahmenqualität über 5,0 liegt oder nicht.
  3. Wenn ja, Miniaturbild extrahieren, andernfalls das nächste Bild, dessen Qualitätswert über 5,0 liegt.

Kann ich dies mit der Option ffmpeg + Linux-Kommandozeile tun?

0
Beschreiben Sie, was Sie meinen, indem Sie "mehrere Frames zu einem Bild zusammenfassen". Vielleicht können Sie uns ein Beispiel zeigen, was Sie erreichen möchten. slhck vor 10 Jahren 0
@slhck Ich dachte, ein Bild (Videoszene?) besteht aus I + B + P-Bildern. wie am Ende dieser Seite (http://en.wikipedia.org/wiki/Inter_frame). Ich denke also, wenn sich mehrere Frames sammeln und durcheinander bringen lassen, kann das Bild klarer werden. Ich vermute... Juneyoung Oh vor 10 Jahren 0
Wenn Sie ein I-Bild extrahieren, erhalten Sie immer ein vollständiges Bild, da das Bild nicht von anderen abhängig ist. Ihr Problem ist also, dass Sie verzerrte Bilder erhalten, obwohl Sie nur I-Frames extrahieren. slhck vor 10 Jahren 0
@slhck eigentlich mein Problem ist, dass ich Iframe-Bilder erhalten kann, aber manchmal ist die Ausgabequalität so niedrig. wie folgt -> frame = 1 fps = 0.0 q = 1.0 Lsize = N / A-Zeit = 00: 00: 00.03 Bitrate = N / A. Wie kann ich nur über q = 5.0 extrahieren? Juneyoung Oh vor 10 Jahren 0
@slhck Danke vor dem Bearbeiten, meine Frage ist mehrdeutig: D Danke für die Anleitung. Juneyoung Oh vor 10 Jahren 0
Ihre Frage ist jetzt klar, aber ich bin nicht sicher, ob der q-Wert in der Ausgabe tatsächlich einen Effekt hat. Bei mir bleibt es bei allen Tests auf "q = 0", auch wenn "-q: v" für die Ausgabe festgelegt wird. Was mich gerade interessiert, ist: Warum fragst du das? Zeigen die Thumbnails eine schlechte Qualität? Können Sie ein Beispiel für die Miniaturansichten Ihres Befehls angeben? slhck vor 10 Jahren 0
@slhck Eigentlich versuche ich, Thumbnails von Videos zu extrahieren, die DRM enthalten. Die DRM-Firma sagt, dass sie Iframes nicht verschlüsselt haben, aber ich denke, dass dies nicht der Fall ist (weil ffmpeg grundsätzlich auf Iframes zugreifen kann, aber Bilder immer noch zerfallen.) Ich untersuchte also, dass einige Bilder defektent sind und nicht abgestürzt sind. Und jetzt glaube ich, dass diese Nachrichten (q = XX) ein Hinweis sein können. Normalerweise hat der Inhalt einen 'q'-Wert über 5,0, obwohl DRM drin ist. Also muss ich q> 5.0 finden. Danke für die Frage: D Juneyoung Oh vor 10 Jahren 0

0 Antworten auf die Frage