問題重制
由于視訊的錄制過程出現了一些小問題,需要重新将視訊檔案切割和合并,找了幾個視訊編輯軟體來做這個事情,最終的結果都不是特别滿意,當時已經挺晚的了,本來打算上床睡覺第二天再去想轍,從椅子上起身的時候忽然想到了 ffmpeg 這個工具,挺久之前在工作中用它做了一個視訊切割相關的功能,于是趕緊把它安裝和配置好,視訊切割的時候倒還順利,在進行視訊合并的時候出現了題目中的這個問題:
Operation not permitted
我把當時的相關檔案都放在這裡,如下圖所示:

我需要把圖中 27-end.mp4 和 27-head.mp4 兩個視訊檔案合并成一個視訊檔案,ffmpeg 需要的 txt 檔案也如上圖所示,将需要合并檔案的目錄放在檔案裡即可,因為是在目前目錄執行的 cmd 指令,是以就直接将目錄設定為目前目錄了。
當時執行的視訊合并指令如下:
ffmpeg -f concat -i list.txt -c copy lesson-27.mp4
但是得到的結果如下:
問題解決過程
權限問題
看到這個錯誤之後,我以為是檔案權限的問題,于是右鍵“管理者取得所有權”,之後還是報這個錯,後來把檔案目錄寫成絕對路徑,也依然沒用,陷入僵局....
網上搜答案
自己沒解決,趕緊到網上看看有沒有其他人碰到這個問題,查了一圈,問題是有類似的,但是解決方案都沒有,又涼了,也是以我在解決之後寫了這篇文章。
換個思路
大家可以再看一眼上圖中的報錯,在
Operation not permitted
錯誤上面還有一個
Unsafe file name
的錯誤,于是我看了一下 ffmpeg 的文檔,最終發現可以在指令行中添加 -safe 參數來避免這個問題,趕緊就去試了一次,最終将檔案合并成功,執行的指令如下:
ffmpeg -f concat -safe 0 -i list.txt -c copy lesson-27.mp4
小總結
因為在網絡上沒有查到這個問題的解決方法,也看到很多朋友同樣在搜這個問題,是以整理了這篇文章,有碰到類似問題的朋友可以參考一下。
推薦一下本人近期維護的開源項目:
Spring Boot 開源電商項目(含商城端和背景管理系統):https://github.com/newbee-ltd/newbee-mall
Spring Boot + Vue 前後端分離商城項目:https://github.com/newbee-ltd/newbee-mall-vue-app
除注明轉載/出處外,皆為作者原創,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利。
我曾七次鄙視自己的靈魂:
第一次,當它本可進取時,卻故作謙卑;
第二次,當它空虛時,用愛欲來填充;
第三次,在困難和容易之間,它選擇了容易;
第四次,它犯了錯,卻借由别人也會犯錯來寬慰自己;
第五次,它自由軟弱,卻把它認為是生命的堅韌;
第六次,當它鄙夷一張醜惡的嘴臉時,卻不知那正是自己面具中的一副;
第七次,它側身于生活的污泥中雖不甘心,卻又畏首畏尾。