[問題] 透過animation執行ffmpeg圖片合成影片

看板R_Language作者 (khkh)時間9年前 (2016/04/14 13:46), 編輯推噓0(0021)
留言21則, 4人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 我試圖透過ffmpeg將圖片組合成影片, 如果不經過R,直接在ffmpeg輸入: ffmpeg -r 25 -f image2 -i "D:\new\test1(%d).jpg" -vcodec libx264 video2.mp4 可以成功合併成影片檔。 如果要在R裡,可能就必須透過animation這個package, oopts = ani.options(interval = 0.04, ani.width=1920, ani.height=1020, ffmpeg = "C:/ffmpeg-20160407-git-0c94906-win32-static/bin/ffmpeg.exe") saveVideo( for(k in 1:1000)"D:\\MRTTT\\new\\test1(%d).jpg", video.name ="D:\\MRTTT\\new\\newvid.mp4", ffmpeg = ani.options("ffmpeg"), other.opts = "-b 3000k") 但是,結果只能轉出白色畫面沒秒數影片檔, 我判斷是讀取圖片的程式碼寫錯(上述黃色處)。 另外也想要改成libx264的方式編碼,檔案比較小, 也不知道怎麼改比較好。 如果說用 system()開啟,如下: system("C:\\ffmpeg-20160407-git-0c94906-win32-static\\bin\\ffmpeg.exe") 又會出現Warning message: running command 'C:\Users\KH\Desktop\ffmpeg-20160407-git-0c94906-win32-static\bin\ffmpeg.exe' had status 1 也不知道是甚麼原因。 麻煩解答了。 [程式範例]: 如上 [關鍵字]: ffmpeg, animation -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.56.90 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1460612779.A.62B.html

04/14 14:03, , 1F
ffmpeg編h.264可看 http://tinyurl.com/knjej65
04/14 14:03, 1F

04/14 14:05, , 2F
你saveVideo()很怪。第一個引數是在R畫東西才對。
04/14 14:05, 2F

04/14 14:05, , 3F
另外,我認為不要一定要用animation package。
04/14 14:05, 3F

04/14 14:06, , 4F
我個人會用for loop創造一堆png file再呼叫ffmpeg。
04/14 14:06, 4F

04/14 14:07, , 5F
這樣會單純一點。
04/14 14:07, 5F

04/14 14:11, , 6F
其實animation package內部做的事情和你做出一堆png再
04/14 14:11, 6F

04/14 14:12, , 7F
調ffmpeg是一樣的。如果你必須用該package,要請你
04/14 14:12, 7F

04/14 14:13, , 8F
給一個例子重現,不然不知道你卡在哪。
04/14 14:13, 8F

04/14 14:41, , 9F
怎麼看都覺得你的程式問題很大...
04/14 14:41, 9F

04/14 14:42, , 10F
你如果只要用system去做就不用用到animation了
04/14 14:42, 10F

04/14 14:43, , 11F
saveVideo用的應該是R畫出來的圖
04/14 14:43, 11F

04/14 14:44, , 12F
如果要用外面的jpg,建議直接用system
04/14 14:44, 12F

04/14 14:44, , 13F
不然就要讀入再用IMAGE重現
04/14 14:44, 13F

04/14 14:45, , 14F
至於你system出錯的原因 應該是沒有input output
04/14 14:45, 14F

04/14 14:45, , 15F
正常情況下直接呼叫ffmpeg是會跳錯
04/14 14:45, 15F

04/15 14:18, , 16F
我也是用for建立一堆圖片,再把他們合成影片。但是自
04/15 14:18, 16F

04/15 14:18, , 17F
己沒寫過怎麼操控外部檔案(也沒程式經驗),所以syste
04/15 14:18, 17F

04/15 14:18, , 18F
m不太清楚怎麼用,才想說用package。那我明白了,去
04/15 14:18, 18F

04/15 14:18, , 19F
研究一下怎麼直接控制ffmpeg。
04/15 14:18, 19F

04/15 14:18, , 20F
謝謝回答!
04/15 14:18, 20F

04/16 09:49, , 21F
這問題沒有發揮到R的強項 用shell script就可以了
04/16 09:49, 21F
文章代碼(AID): #1N3owhOh (R_Language)
文章代碼(AID): #1N3owhOh (R_Language)