❶ 怎麼用java或C/C++對視頻進行編解碼
可以使用ffmpeg對視頻進行解碼處理
引用
http://www.cnblogs.com/dyllove98/archive/2013/07/05/3174415.html
❷ java 實現行程編碼 解碼
public class GuiCamera
{
private String fileName; //文件的前綴
private String defaultName = "xxx";
static int serialNum=0;
private String imageFormat; //圖像文件的格式
private String defaultImageFormat="jpg";
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public GuiCamera(String s,String format) {
fileName = s;
imageFormat=format;
}
public void snapShot() {
try {
//拷貝屏幕到一個BufferedImage對象screenshot
BufferedImage screenshot = (new Robot()).createScreenCapture(new
Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));
serialNum++;
//根據文件前綴變數和文件格式變數,自動生成文件名
String name=fileName+String.valueOf(serialNum)+"."+imageFormat;
File f = new File(name);
//將screenshot對象寫入圖像文件
ImageIO.write(screenshot, imageFormat, f);
}
catch (Exception ex) {
}
}
public static void main(String[] args)
{
GuiCamera cam= new GuiCamera("d:\\java", "jpg");
cam.snapShot();
}
}
只能截取屏幕...傳送可以以流的形式輸出到對方。。。
❸ 求java編碼和解碼的通俗解釋
在內存中,本來沒有字元的概念,每個位元組都是一個0-255的數字。我們把數字進行編號,每個數字代表一個字元。追根溯源,以ASCII碼為例。比如65(十進制)定義為字元'A',66定義為'B',61定義為'='。這就是編碼。然後才有了char型定義,實際上等同於byte,只是使用char型時就知道要表示的是字元。如果char ch=65,然後printf("%c",ch),出來就是'A',這就是解碼了。如果printf("%d",ch),那出來就仍是65。 單位元組byte只能支持0-255的編碼,對於亞洲語言,像中文漢字,是完全不夠用的。所以之後有雙位元組(0-65535)以及多位元組編碼的出現。以雙位元組為例,0-65535並不能同時為多種語言編碼。所以打個比方,同一個數字,可能在中文GBK編碼時定義為漢字'王',而在日文編碼MS932中就被定義為'小'。當內存中的數字被解釋為字元(文字和符號)時,就是解碼過程,把文字和符號用數字定義時就是編碼。實際編碼過程中,不少是前後位元組有關聯性定義的,並非我說的那麼簡單。 在網路傳輸時,實際上仍然是單位元組,甚至是位元組中1個bit一個bit傳輸的。我們在傳輸時使用byte數組,即基本類型,而在傳輸前後轉回GBK中文編碼。以老美的視角來看問題,則從byte變成亞洲語言(GBK/Unicode)屬於編碼encoding,而相反過程是解碼decoding。
❹ 利用socket可以從網路上獲得視頻流,請問如何用java寫的代碼程序來播放
javacv基於ffmpeg和opencv等開源音視頻、圖像處理庫,可以支持各種協議的推流,拉流,實時圖像處理,javacv可以解決你的問題,具體請參考javacv教程專欄:網頁鏈接
❺ 誰知道java做直播需要用到哪些技術
直播那麼火,每個行業都想抓住這個機會做一番事業,利用java做直播需要用到的技術有很多版,在開發上需要用到攝權像頭採集、音視頻編解碼、流媒體協議等等,在視頻播放上,需要用到別人的雲服務等。如果沒有專業的技術建議還是找音視頻直播領域的服務商來做,接入第三方直播平台的SDK做直播。即構科技的實時音視頻產品支持32路實時音視頻,1080P高清效果,運用抖動緩沖策略,找到延時與流暢間的最佳契合點,具備超強的抗丟包能力。
❻ 如何用JAVA對視頻和圖片等多媒體文件進行加密解密
創建一個虛擬解密文件設備,傳遞給該設備的參數就是它的真實物理地址,多媒體那邊像正常文件操作一樣。這個虛擬解密設備的驅動則負責解碼。注意,你使用的加密方式必須是流加密,否則視頻播放會有問題。
❼ java中用jave轉換mp4,如果需要轉出video標簽能識別的h264編碼格式,轉換的參數應該怎麼寫
把文件轉換成H264 MP4格式的操作為:
1.電腦上網路搜索「格式工廠」下載,安裝完畢後打開。
2.點擊「視頻」,選擇「MP4」。
3.如果對文件有要求,可以點擊「輸出配置」進行設置。點擊「添加文件」,選擇需要轉換的格式文件後,點擊「確定」。
4.在該界面點擊「開始」即可開始轉換格式,輸出文件位置在「輸出配置」裡面可以設置/找到。
❽ java是如何編碼解碼的
[java]view plain
Stringname="Iam小明";
toHex(name.toCharArray());
<spanstyle="font-size:18px;white-space:pre;"></span><prename="code"class="java">try{
byte[]iso8859=name.getBytes("ISO-8859-1");
[java]view plain
toHex(iso8859);
[java]view plain
byte[]gb2312=name.getBytes("GB2312");
[java]view plain
toHex(gb2312);
[java]view plain
byte[]gbk=name.getBytes("GBK");
[java]view plain
toHex(gbk);
[java]view plain
}
[java]view plain
Stringstr="小米";
byte[]b=str.getBytes("UTF-8");
[java]view plain
publicbyte[]getBytes(StringcharsetName)
{
if(charsetName==null)thrownewNullPointerException();
returnStringCoding.encode(charsetName,value,0,value.length);
}
[java]view plain
staticbyte[]encode(StringcharsetName,char[]ca,intoff,intlen)
{
StringEncoderse=deref(encoder);
Stringcsn=(charsetName==null)?"ISO-8859-1":charsetName;
if((se==null)||!(csn.equals(se.requestedCharsetName())
||csn.equals(se.charsetName()))){
se=null;
try{
Charsetcs=lookupCharset(csn);//生成字元集實例
if(cs!=null)
se=newStringEncoder(cs,csn);
}catch(IllegalCharsetNameExceptionx){}
if(se==null)
(csn);
set(encoder,se);
}
returnse.encode(ca,off,len);
}
[java]view plain
(Stringcsn){
if(Charset.isSupported(csn)){
try{
returnCharset.forName(csn);
}catch(UnsupportedCharsetExceptionx){
thrownewError(x);
}
}
returnnull;
}
[java]view plain
privateStringEncoder(Charsetcs,Stringrcn){
this.requestedCharsetName=rcn;
this.cs=cs;
this.ce=cs.newEncoder()
.onMalformedInput(CodingErrorAction.REPLACE)
.onUnmappableCharacter(CodingErrorAction.REPLACE);
this.isTrusted=(cs.getClass().getClassLoader0()==null);
}