例子如下:(紅色字體是關鍵代碼)
def handle_video(video_file, video_id, number):
in_path = os.path.join(settings.BASE_DIR, 'app/dashboard/temp_in')
out_path = os.path.join(settings.BASE_DIR, 'app/dashboard/temp_out')
name = '{}_{}'.format(int(time.time()), video_file.name)
path_name = os.path.join(in_path, name)
temp_path = video_file.temporary_file_path()
shutil.copyfile(temp_path, path_name)
out_path = '/'.join([out_path, video_file.name.split('.')[0]])
command = 'ffmpeg -i {} -c copy {}.mp4'.format(path_name, out_path)
os.system(command)
return True
筆者在安裝ffmpeg的時候,遇到了問題,報錯信息是:sh: 1: ffmpeg: not found
發現安裝出錯,筆者使用pip install ffmpeg安裝的
正確的應該是apt install ffmpeg
原因可能如下:(原文鏈接:https://blog.csdn.net/rona_lin/article/details/45028277)
pip用來安裝來自PyPI的python所有的依賴包,並且可以選擇安裝任何在PyPI上已上傳的先前版本的依賴包;
apt-get可以用來安裝軟件、更新源、也可以用來更新自Ubuntu的典型依賴包,典型安裝即意味着它只是安裝(最新發布的,或最近一個的)單一版本,並且我們不能決定我們要安裝的依賴包的版本或選擇它之前的版本。
關於ffmpeg的安裝和使用:https://eyehere.net/2019/the-complete-guide-for-using-ffmpeg-in-linux/
推薦博客:https://blog.csdn.net/east196/article/details/79821361