2017-02-18 107 views
0

去除幀我理解這可能是一個微不足道的問題,但到目前爲止,我曾與我嘗試了各種解決方案,沒有運氣,我敢肯定,必須有實現這一目標的便捷途徑。蟒蛇/視頻 - 無需重新編碼

我如何將着手從視頻文件中刪除幀/毫秒無切片,合併和重新編碼?
我發現的所有解決方案都涉及將各種時間導出爲各種格式,我希望不需要這樣做。

使用ffmpeg/avconv有必要將臨時流轉換爲.ts,然後連接,最後重新編碼爲原始格式。

Python庫MoviePy似乎做我需要很準確的話,但:

  • cutout函數返回不能導出的文件,作爲write_videofile功能的嘗試和失敗,以獲取刪除幀
  • 如果我將原始文件分割成不同的剪輯,然後將它們與concatenate_videoclips合併,則導出不會失敗,但需要兩倍的視頻長度。由此產生的視頻具有更快的幀速率,只有連接視頻的提示點能夠及時放置,音頻以正常速度播放。同樣值得注意的是,輸出文件雖然縮短了5-7%,但卻大約增加了15%。

是否有任何其他圖書館,我不知道我可能會考慮?
我試圖想象是提供方便地訪問最常見的視頻格式,讓我有彈出不需要的畫面,並更新文件頭,不鑽研每個格式的細節的能力的抽象層。

回答

0

爲什麼不使用

#import os 
start = '00:00:08.345' # HH:MM:SS[.xxx] format 
duration = '00:00:10' 

os.system('ffmpeg -i path/to/input.mp4 -vcodec copy -acodec copy -ss ' + start + ' -t ' + end + ' path/to/file.mp4')` 

這應該input.mp4並削減了10秒開始8.345秒無需重新編碼的文件。你可能想要使用很多FFMPEG python包裝,但這是我能想到的最簡單的方法。