2011-12-07 90 views
-2

想創建使用.jpg圖像和ffmpeg的視頻剪輯,正在創建.jpg圖像如下:映像創建使用PHP

$str=$_REQUEST['data_array'];//gets the base64 encoded image data; 
    $count =$_REQUEST['count'];//gets number of images i've to create; 
    $edited_str=substr($str,23,strlen($str)-1);// 
    $edited_str=base64_decode($edited_str); 
    $f=fopen("Images/temp".$count.".jpg","w");//am creating temp.jpg file 
    fwrite($f,$edited_str);//placing my decoded data into file 
    fclose($f); 

是圖像正在創建上面正常.jpg圖像有什麼不同?

+2

你是說,你正在拼接多個JPG文件在一起,期待他們動畫?我懷疑這會起作用。你可以使用ImageMagick嗎? –

+2

@皮卡 - 你懷疑?它不會;-) – Flukey

+2

@Flukey奇怪,這是[可能與MP3文件。](http://stackoverflow.com/questions/3992311/merge-two-mp3-php/3992378#3992378)因此,我的表達只有懷疑(而不是一個明確的「你瘋了嗎?」):) –

回答

0

這條線:

$edited_str=substr($str,23,strlen($str)-1); 

使得不同。如果這是該文件的完整base64刺探,那麼這會削減它並破壞它。也許你在前面添加了一些東西。

如果您只是從添加的前端刪除了內容,那麼它應該與使用base64編碼的原始文件相同。

如果您想從另一個頁面以這種方式獲取信息,我建議使用$ _POST而不是$ _REQUEST,原因很多。

編輯:我不會說在php中的視頻操作是不可能的。我認爲,甚至有一個工具箱......這裏有一個:

http://phpvideotoolkit.sourceforge.net/

其中規定:

它可以進行視頻格式轉換,提取視頻幀到單獨的圖像文件,並組裝視頻來自一組獨立的視頻圖像。

沒有測試過,但打算一天試一試。編輯2:在php網站上,有一些問題可以嘗試,但爲了獲得更多幫助,還需要更多信息。直接檢查文件以確保正確發送和解密。

我還沒有測試任何這些。建議

。這塊大文件的使用:

$decodedstring=base64_decode(chunk_split($encodedstring)); 

另一個問題是,如果你使用JavaScript canvas.toDataURL(),那麼你需要轉換的空間回加號:

$encodedData = str_replace(' ','+',$encodedData); 
$decocedData = base64_decode($encodedData); 

http://php.net/manual/en/function.base64-decode.php

+0

正在刪除'data:image/jpeg; base64',使用上面的代碼解碼它,否則它不會創建圖像我的問題是那些來自上面的PHP代碼的圖像與正常圖像不同? – user1070642

+0

當數據編碼/解碼base64時,它應該是一樣的(好吧,我從來沒有遇到過問題,包括jpeg的)。問題可能是別的。還有,像N.說,這是「我是」或「我是」英文。 「是」可能會令人困惑。 – craniumonempty