OpenCV: FFMPEG: тег не поддерживается с идентификатором кодека 12 и форматом «mp4/MP4». ⇐ C++
OpenCV: FFMPEG: тег не поддерживается с идентификатором кодека 12 и форматом «mp4/MP4».
Я пытался запустить репозиторий, расположенный ЗДЕСЬ. По сути, просто нацелен на SimpleVideoSummarizer.cc, который использует OpenCV для некоторой базовой обработки видео. Я использую Ubuntu 14.04. Ниже приведена часть кода для сохранения:
void SimpleVideoSummarizer::playAndSaveSummaryVideo(char* videoFileSave) { cv::VideoCapture capture (videoFile); резюме::Матовая рамка; capture.set(CV_CAP_PROP_POS_FRAMES, 0); резюме::VideoWriter videoWriter; если (videoFileSave != "") { videoWriter = cv::VideoWriter(videoFileSave, CV_FOURCC('M', 'J', 'P', 'G'), static_cast(capture.get(CV_CAP_PROP_FPS)), cv::Size(capture.get( CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT))); } for (std::set::iterator it = summarySet.begin(); it != summarySet.end(); it++) { capture.set(CV_CAP_PROP_POS_FRAMES, сегментStartTimes[*it] *frameRate); for (int i = сегментStartTimes[*it]; я кадр; cv::putText(frame, "Time: " + IntToString(i) + " секунды", cvPoint(30, 30), cv::FONT_HERSHEY_COMPLEX_SMALL, 0,8, cvScalar(200, 200, 250), 1, CV_AA); если (frame.data) { cv::imshow("Обзорное видео", кадр); } если (videoFileSave != "") { videoWriter.write(кадр); } // Нажмите ESC на клавиатуре, чтобы выйти char c = static_cast(cv::waitKey(25)); если (с == 27) { перерыв; } } } } захват.выпуск(); } Я передаю файл input.mp4 и также указываю out.mp4. К сожалению, когда пример пытается сохранить выходной видеофайл, на FOURCC выдаются ошибки:
OpenCV: FFMPEG: тег 0x44495658/'XVID' не поддерживается с идентификатором кодека 12 и форматом 'mp4/MP4 (MPEG-4, часть 14)' OpenCV: FFMPEG: резерв для использования тега 0x7634706d/'mp4v' или другой:
OpenCV: FFMPEG: тег 0x3234504d/'MP42' не поддерживается с идентификатором кодека 15 и форматом 'mp4/MP4 (MPEG-4, часть 14)' [mp4 @ 0x16bc700] Не удалось найти тег для кодека msmpeg4v2 в потоке №0, кодек в настоящее время не поддерживается в контейнере. Я попробовал изменить FOURCC в этой части кода, записывающего видео, и применил XVID, MJPG, X264, MP42, MP4V. Ни один из них не работал и не выдавал подобные ошибки.
В чем проблема? Как это исправить?
Я пытался запустить репозиторий, расположенный ЗДЕСЬ. По сути, просто нацелен на SimpleVideoSummarizer.cc, который использует OpenCV для некоторой базовой обработки видео. Я использую Ubuntu 14.04. Ниже приведена часть кода для сохранения:
void SimpleVideoSummarizer::playAndSaveSummaryVideo(char* videoFileSave) { cv::VideoCapture capture (videoFile); резюме::Матовая рамка; capture.set(CV_CAP_PROP_POS_FRAMES, 0); резюме::VideoWriter videoWriter; если (videoFileSave != "") { videoWriter = cv::VideoWriter(videoFileSave, CV_FOURCC('M', 'J', 'P', 'G'), static_cast(capture.get(CV_CAP_PROP_FPS)), cv::Size(capture.get( CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT))); } for (std::set::iterator it = summarySet.begin(); it != summarySet.end(); it++) { capture.set(CV_CAP_PROP_POS_FRAMES, сегментStartTimes[*it] *frameRate); for (int i = сегментStartTimes[*it]; я кадр; cv::putText(frame, "Time: " + IntToString(i) + " секунды", cvPoint(30, 30), cv::FONT_HERSHEY_COMPLEX_SMALL, 0,8, cvScalar(200, 200, 250), 1, CV_AA); если (frame.data) { cv::imshow("Обзорное видео", кадр); } если (videoFileSave != "") { videoWriter.write(кадр); } // Нажмите ESC на клавиатуре, чтобы выйти char c = static_cast(cv::waitKey(25)); если (с == 27) { перерыв; } } } } захват.выпуск(); } Я передаю файл input.mp4 и также указываю out.mp4. К сожалению, когда пример пытается сохранить выходной видеофайл, на FOURCC выдаются ошибки:
OpenCV: FFMPEG: тег 0x44495658/'XVID' не поддерживается с идентификатором кодека 12 и форматом 'mp4/MP4 (MPEG-4, часть 14)' OpenCV: FFMPEG: резерв для использования тега 0x7634706d/'mp4v' или другой:
OpenCV: FFMPEG: тег 0x3234504d/'MP42' не поддерживается с идентификатором кодека 15 и форматом 'mp4/MP4 (MPEG-4, часть 14)' [mp4 @ 0x16bc700] Не удалось найти тег для кодека msmpeg4v2 в потоке №0, кодек в настоящее время не поддерживается в контейнере. Я попробовал изменить FOURCC в этой части кода, записывающего видео, и применил XVID, MJPG, X264, MP42, MP4V. Ни один из них не работал и не выдавал подобные ошибки.
В чем проблема? Как это исправить?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
OpenCV2 / Python: FFMPEG: тег не поддерживается с помощью ID 12 и формата MP4 / MP4
Anonymous » » в форуме Python - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
OpenCV2 / Python: FFMPEG: тег не поддерживается с помощью ID 12 и формата MP4 / MP4
Anonymous » » в форуме Python - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
OpenCV VideoWriter выдает ошибку: FFMPEG: тег 0x34363258/'X264' не поддерживается
Anonymous » » в форуме C# - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-