способ извлечь миниатюру со значением q более 5,0 в команде ffmpeg?

686
Juneyoung Oh

Я редактировал вопрос (спасибо за совет.). Когда я извлекаю миниатюру из ffmpeg, я могу получить подобное сообщение в самом конце сообщения.

# 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% 

Я думаю, что эта часть "frame = 1 fps = 0.0 q = 5.0 Lsize = N / A time = 00: 00: 00.03 bitrate = N / A" показывает информацию о выходном файле (в данном случае, файл изображения jpg).

Я ищу способ извлечения миниатюр из видеофайлов, только случай «q> = 5.0». (Я думаю, что «q» означает качество. Я знал, что есть опция «q», но может иметь другое значение )

  1. Я собираюсь получить доступ к определенной точке видео через опцию 'ss'.
  2. Я проверю это качество кадра более 5,0 или нет.
  3. Если да, извлеките миниатюру, в противном случае ближайший кадр, значение качества которого превышает 5,0.

Могу ли я сделать это с помощью опции ffmpeg + командной строки Linux?

0
Пожалуйста, опишите, что вы подразумеваете под «объединением нескольких кадров в один». Возможно, вы могли бы показать нам пример того, чего вы хотите достичь. slhck 10 лет назад 0
@slhck Я думал, что одна картинка (видео сцена?) состоит из I + B + P кадров. как конец этой страницы (http://en.wikipedia.org/wiki/Inter_frame). Так что я думаю, если можно собрать несколько кадров и перепутать, можно сделать четкую картину. Похоже... Juneyoung Oh 10 лет назад 0
Когда вы извлекаете I-кадр, вы всегда получите полную картину, потому что кадр не зависит от других. Итак, ваша проблема в том, что, даже если вы извлекаете только I-кадры, вы получаете искаженные изображения? slhck 10 лет назад 0
@slhck на самом деле моя проблема в том, что я могу получить изображения Iframe, но иногда качество вывода бывает таким низким. вот так -> frame = 1 fps = 0.0 q = 1.0 Lsize = N / A time = 00: 00: 00.03 битрейт = N / A. Как я могу извлечь только через q = 5.0? Juneyoung Oh 10 лет назад 0
@slhck Спасибо, прежде чем редактировать, мой вопрос неоднозначен: D Спасибо за руководство. Juneyoung Oh 10 лет назад 0
Your question is now clear, but I'm not sure the q value in the output actually has an effect. For me it stays at `q=0` for all tests, even when setting `-q:v` for the output. What I'm just curious about is: why do you ask this? Are the thumbnails you get showing bad quality? Can you include an example of the thumbnails your command creates? slhck 10 лет назад 0
@slhck На самом деле я пытаюсь извлечь миниатюры из видео, в которых есть DRM. Компания DRM говорит, что они не взломали IFrames, но я думаю, что это не так (потому что ffmpeg в основном имеет доступ к Iframes, но изображения все еще рушатся.) Поэтому я исследовал, что является причиной того, что какая-то картинка не работает. И теперь я верю, что эти сообщения (q = XX) могут быть подсказкой. обычно содержимое имеет значение «q» более 5,0, что довольно неплохо, хотя в нем присутствует DRM. Поэтому мне нужно найти q> 5.0. Спасибо за вопрос: D Juneyoung Oh 10 лет назад 0

0 ответов на вопрос

Похожие вопросы