opencv-python保存視頻


opencv-python保存視頻

最近在編程過程中遇到了保存視頻的問題,之前使用cv2.VideoWriter的方式保存的mp4文件在chrome中無法播放,查閱相關資料后發現是由於chrome由於版權問題只支持h264編碼的視頻。所以使用ffmpeg工具來對保存好的視頻轉碼,代碼如下

video_writer = cv2.VideoWriter('xx.avi', cv2.VideoWriter_fourcc(*'XVID'), fps,(w, h))
for frame in frame_list:
	video_writer.write(frame)
video_writer.release()
os.system(f'ffmpeg -i "xx.avi" -vcodec h264 "xx.mp4"')

我們首先定義使用XVID的編碼格式對視頻幀進行編碼,該編碼保存文件的后綴為avi,隨后我們使用ffmpeg工具使用調用命令行命令的方式將保存的avi視頻轉碼為h264編碼的mp4視頻

優化方法

video_writer = cv2.VideoWriter('xx.mp4', cv2.VideoWriter_fourcc(*'AVC1'), fps,(w, h))

網上說h264和avc1其實是同一種編碼格式,但是使用h264傳入時,后綴必須為avi,如果為mp4會報錯:

OpenCV: FFMPEG: tag 0x34363268/'h264' is not supported with codec id 27 and format 'mp4 /MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x31637661/'avc1'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM