python截取视频_python+ffmpeg截取视频段
http://blog.csdn.net/yang_xian521/article/details/7440190
cv2.videowriter缺點:只能寫avi格式,視頻大小不能超過2G,沒有音頻,上面這個博客介紹了opencv寫視頻
下載ffmpeg的壓縮包,直接解壓
下載地址:http://ffmpeg.zeranoe.com/builds/?。下載Windows版本的FFmpeg
建議采用python+ffmpeg截取視頻段,但是當視頻文件路徑含中文時出錯,中文亂碼。Python用subprocess調用亂碼問題。
解決方法:視頻文件路徑編碼:unicode
在利用subprocess.call時再encode一下cmd
md = ffmpegPath + ' -y -i ' + CurMediaPath.decode('utf-8') + ' -ss ' + videoStartTime + ' -t ' + videoEndTime +\
' -acodec copy -vcodec copy -async 1 ' + videoSaveDir.decode('utf-8')
subprocess.call(cmd.encode(sys.getfilesystemencoding()), shell=True)
CurMediaPath和videoSaveDir開始是utf-8,decode之后為unicode
ffmpegPath:ffmpegPath解壓路徑
-ss: 截取視頻的開始時間
-t:截取視頻的結束時間
指定路徑時:
import subprocess
subprocess.call('C:/Users/liesmars/Desktop/QS02016/SRC/External/bin/ffmpeg.exe -y -i C:/Users/liesmars/Desktop/b.mp4 -ss 00:00:0.0 -t 00:00:40.0 -acodec copy -vcodec copy -async 1 C:/Users/liesmars/Desktop/b3.mp4')
print 'over'
剪切的同時,格式不變,音視頻參數不變:ffmpeg?-y?-i?bjysxyt5.mp4?-ss?00:00:00.0?-t?00:01:00.0?-acodec?copy?-vcodec?copy?-async?1?bjysxyt1.mp4
剪切的同時,音視頻參數不變,只轉換格式:ffmpeg?-y?-i?bjysxyt5.mp4?-ss?00:00:00.0?-t?00:01:00.0?-acodec?copy?-vcodec?copy?-async?1?bjysxyt1.flv
剪切的同時,格式不變,只轉換音視頻參數:ffmpeg?-y?-i?bjysxyt5.mp4?-ss?00:00:00.0?-t?00:01:00.0?-ab?56k?-ar?44100?-b:v?2200k?-r?29.97?-s?640x360?bjysxyt1.mp4
剪切的同時,既轉換格式又轉換音視頻參數:ffmpeg?-y?-i?bjysxyt5.mp4?-ss?00:00:00.0?-t?00:01:00.0?-ab?56k?-ar?44100?-b:v?2200k?-r?29.97?-s?640x360?bjysxyt1.flv
說明:-i表示輸入文件;-acodec?copy?-vcodec?copy?表示音頻、視頻不進行編解碼,直接復制源視頻;-ss表示起始時間,-t表示時長,格式均為“小時:分鐘:秒”。
ffmpeg可參考博客:http://yuanhuan.blog.51cto.com/3367116/1246370
總結
以上是生活随笔為你收集整理的python截取视频_python+ffmpeg截取视频段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELF文件格式解析
- 下一篇: 如何用无线路由器接服务器主机,路由器上再