как найти ближайшие фреймы с помощью ffprobe?

479
Juneyoung Oh

Интересно, можно ли найти ближайшие фреймы из определенной позиции (могут быть определенные секунды) в видеофайле с помощью ffprobe или ffmpeg.

Является ли это возможным? Результат, который я хочу, - это секундная позиция кадров.

Моя команда ffprobe -show_frames -select_streams v -print_format json=c=1 Z63902_5_130719.ts | grep "I" | grep "\"pkt_dts_time\"". Поскольку в этом json есть только заглавная буква «я», я использую только «я». Моя проблема в том, что это слишком медленно. Моя конечная цель - получить позиции iframe из протокола RTSP и составить список. Если он пойдет в RTSP, он будет намного медленнее, чем сейчас.

Как я могу решить это?

0
Посмотрите мой ответ в связанном вопросе, и дайте мне знать, если это поможет. slhck 10 лет назад 0
@slhck Спасибо за ответ. Но я не мог попробовать этот ответ, потому что, когда я использую команду, размещенную в вашей ссылке, она показывает, что "bash: синтаксическая ошибка рядом с неожиданным токеном` ('"). На самом деле я использую full-scan (?) Для поиска ключевых кадров. , проблема в том, что он слишком медленный. Я приказываю этим ffprobe и grep, и требуется 3 минуты, чтобы собрать позиции iframe из 10-минутного видео. Есть ли способ улучшить скорость? Еще раз спасибо Juneyoung Oh 10 лет назад 0
Я использую опцию -print_format, в противном случае при выполнении команды grep она получает только «pict_type: I». Juneyoung Oh 10 лет назад 0
@slhck Я нашел лучший способ перечислить позиции iframe. когда я использую опцию -show_frames, это занимает 2 минуты 59 секунд. Но как-то, когда я использую другой вариант, он закончился через несколько секунд. Я не знаю почему, но наверняка использование опции "show_packets" быстрее с тем же результатом. Еще раз спасибо. Должен ли я удалить этот вопрос или нет. Я буду следовать вашему мнению: D Juneyoung Oh 10 лет назад 0
Если вы хотите, вы можете опубликовать собственное решение по другому вопросу в качестве ответа, и мы просто оставим этот вопрос в силе. Вам не нужно удалять его. slhck 10 лет назад 0
@slhck Спасибо: D Так как я думаю, что вы такой эксперт серии ff. Если вы не возражаете, могу я задать еще один вопрос? Я работаю с файлами формата TS. И, как вы знаете, пакет TS имеет фиксированный размер, который составляет 188 байт. Но когда я использую опцию "-show_packets" и ввожу свой файл ts, его размер очень различен. Я не знаю, почему этот размер так. Спасибо и хорошего дня. Juneyoung Oh 10 лет назад 0
Не уверен - можете ли вы опубликовать новый вопрос с более подробной информацией и образцом, возможно? Спасибо! slhck 10 лет назад 0

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

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