#video #gstreamer #frames #gst-launch-1.0
Вопрос:
Я хочу знать синтаксис или команду о том, как я могу сохранить все кадры в формате jpg из моего 20-минутного видео mp4 с помощью GStreamer. С помощью FFmpeg я могу это сделать, но не уверен в gst-launch-1.0
Комментарии:
1. Сохранить это как что?
2. @FlorianZwoch изображение в формате jpg
Ответ №1:
Должно быть что-то в этом роде:
gst-launch-1.0 filesrc location=<video_file> ! decodebin ! videoconvert ! jpegenc ! multifilesink location=d.jpg
Комментарии:
1. jetson@jetson-рабочий стол:~/Загружает$ gst-запуск-1.0 расположение filesrc=toy_cars.mp4 ! расшифровка ! видеоконверт ! jpegenc ! многофайловая связь location=images/imgd.jpg Установка конвейера на ПАУЗУ … Трубопровод проходит ПРЕДВАРИТЕЛЬНУЮ СБОРКУ … Открытие в РЕЖИМЕ БЛОКИРОВКИ Открытие в РЕЖИМЕ БЛОКИРОВКИ NvMMLiteOpen : Блок : Тип блока = 261
2. Это похоже на конкретную ошибку jetson. Вероятно, он хочет использовать аппаратный декодер, который по какой-то причине выходит из строя.
3. ПРЕДУПРЕЖДЕНИЕ: из элемента /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0: не согласовано Дополнительная информация об отладке: gstbasetransform.c(1415): gst_base_transform_reconfigure (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0: не согласовано ОШИБКА: из элемента /GstPipeline:конвейер0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: Ошибка внутреннего потока данных. Дополнительная информация об отладке: qtdemux.c(6073): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: потоковая передача остановлена, причина не согласована (-4)
4. Ты знаешь, как я могу это исправить? Не могли бы вы взглянуть, пожалуйста?
5. Вы пытаетесь настроить декодер вручную. Заменить
decodebin
наqtdemux ! h264parse ! avdec_h264 !
. Если видеокодек H. 264. Остальное вам нужно настроить, и мотыга, у вас установлены декодеры. Если вы хотите, чтобы это было на оборудовании, вам нужно больше исследовать. У меня нет джетсона.