Wątek przeniesiony 2019-06-23 13:23 z przez cerrato.

Algorytm odwracania video od tyłu.

Odpowiedz Nowy wątek
2019-06-23 10:55
0

Czy posiada z Was ktoś może wiedzę na jakiej zasadzie działają programy do odwracania video od tyłu, czy wyciągają jakąś każdą klatkę filmu do jakiegoś bufora i potem ustawiają je w odwrotnej kolejności da się w ogóle w jakiś sposób wyodrębnić z pliku .mp4 każdą klatkę z filmu czy trzeba się zagłębić w kodeki takich plików itp.?

edytowany 1x, ostatnio: CyberPunk, 2019-06-23 10:55

Pozostało 580 znaków

2019-06-23 11:45
1

Użyj np biblioteki OpenCV -> https://docs.opencv.org/3.1.0/d8/dfe/classcv_1_1VideoCapture.html
Źródło Google

#include <opencv2/opencv.hpp>

int main (int argc, char* argv[])
{
  cv::VideoCapture cap(argv[1]);

  double frame_rate = cap.get(CV_CAP_PROP_FPS);

  // Calculate number of msec per frame.
  // (msec/sec / frames/sec = msec/frame)
  double frame_msec = 1000 / frame_rate;

  // Seek to the end of the video.
  cap.set(CV_CAP_PROP_POS_AVI_RATIO, 1);

  // Get video length (because we're at the end).
  double video_time = cap.get(CV_CAP_PROP_POS_MSEC);

  cv::Mat frame;
  cv::namedWindow("window");

  while (video_time > 0)
  {
    // Decrease video time by number of msec in one frame
    // and seek to the new time.
    video_time -= frame_msec;
    cap.set(CV_CAP_PROP_POS_MSEC, video_time);

    // Grab the frame and display it.
    cap >> frame;
    cv::imshow("window", frame);

    // Necessary for opencv's event loop to work.
    // Wait for the length of one frame before
    // continuing the loop. Exit if the user presses
    // any key. If you want the video to play faster
    // or slower, adjust the parameter accordingly.    
    if (cv::waitKey(frame_msec) >= 0)
      break;
  }
}
edytowany 3x, ostatnio: au7h, 2019-06-23 11:47
a da się to połączyć jakoś z JS'em, bo bym chciał projekt do portfolio aplikacji, w której można by było wgrać na serwer plik i właśnie zwrócić odwrócone video - CyberPunk 2019-06-23 12:47

Pozostało 580 znaków

2019-06-28 16:00
0

Sprawdź narzędzie FFmpeg.
Możne w nim dużo dziwnych rzeczy rozrobić (np wyciągnąć pojedyncza klatkę w surowym formacie).
Nie zdziwiłbym się, jeśli nie ma wbudowanej opcji odwracania wideo.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0