저는 파이썬에서 새롭고, UDP 스트림 (VLC, H264에서 스트리밍)을 수신하고 비디오를 수정하고 (파이썬 2.7) 표시하려고합니다. openCV (openCV 2.4)를 사용했습니다. 9) 비디오 프레임을 수신 할 수 있고 또한 수정할 수 있습니다. 이제는 이러한 프레임을 사용하여 비디오 파일을 만들고 표시해야하므로 프레임과 비디오를 모두 저장할 필요가 없습니다.파이썬 비디오 조작
저는 FFMPEG, FFPLAY를 시도했으며 저장된 비디오 프레임에서 작동합니다.
단계 또는 다른 대안을 지적 할 수 있으면 감사하겠습니다.
감사합니다.
먼저 내 설명에 대해 일찍 미안합니다.
1. 수신 UDP 비디오 스트림.
2. 비디오 스트림을 수정하십시오. openCV를 사용하여 스트림에서 비디오 프레임을 가져 와서 작동하도록 수정했습니다.
cap = cv2.VideoCapture("udp://224.1.1.1:1234")
while(cap.isOpened()):
success,image = cap.read()
......
......
cv2.imwrite("./frames/frame%d.jpeg" %count, image)
count+=1
3. 비디오 및 디스플레이 만들기. 나는 작업 FFMPEG와 FFPLAY
command1 = 'ffmpeg -i ./frames/frame%d.jpeg -c:v libx264 -vf fps=23.97 -pix_fmt yuv420p -f rawvideo -'
command2 = 'ffplay -'
pipe1 = sp.Popen(command1,stdout=sp.PIPE)
pipe2 = sp.Popen(command2,stdin=pipe1.stdout)
이 단계를 시도하지만 물리적 프레임 또는 비디오 파일을 저장할 수 없습니다. 2 단계 후 direcly FFMFEG, FFPLAY 프레임 폴더에 저장하지 않고 재생할 수있는 비디오 프레임을 통과해야합니다.
감사합니다.
[cv2.VideoWriter] (http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videowriter) 및 [샘플] (https://github.com/Itseez/opencv/blob /2.4/samples/python2/turing.py) – berak