看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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
andrew43: ffmpeg編h.264可看 http://tinyurl.com/knjej65 04/14 14:03
andrew43: 你saveVideo()很怪。第一個引數是在R畫東西才對。 04/14 14:05
andrew43: 另外,我認為不要一定要用animation package。 04/14 14:05
andrew43: 我個人會用for loop創造一堆png file再呼叫ffmpeg。 04/14 14:06
andrew43: 這樣會單純一點。 04/14 14:07
andrew43: 其實animation package內部做的事情和你做出一堆png再 04/14 14:11
andrew43: 調ffmpeg是一樣的。如果你必須用該package,要請你 04/14 14:12
andrew43: 給一個例子重現,不然不知道你卡在哪。 04/14 14:13
celestialgod: 怎麼看都覺得你的程式問題很大... 04/14 14:41
celestialgod: 你如果只要用system去做就不用用到animation了 04/14 14:42
celestialgod: saveVideo用的應該是R畫出來的圖 04/14 14:43
celestialgod: 如果要用外面的jpg,建議直接用system 04/14 14:44
celestialgod: 不然就要讀入再用IMAGE重現 04/14 14:44
celestialgod: 至於你system出錯的原因 應該是沒有input output 04/14 14:45
celestialgod: 正常情況下直接呼叫ffmpeg是會跳錯 04/14 14:45
bedroom0204: 我也是用for建立一堆圖片,再把他們合成影片。但是自 04/15 14:18
bedroom0204: 己沒寫過怎麼操控外部檔案(也沒程式經驗),所以syste 04/15 14:18
bedroom0204: m不太清楚怎麼用,才想說用package。那我明白了,去 04/15 14:18
bedroom0204: 研究一下怎麼直接控制ffmpeg。 04/15 14:18
bedroom0204: 謝謝回答! 04/15 14:18
damody: 這問題沒有發揮到R的強項 用shell script就可以了 04/16 09:49