當前位置:首頁 » 編程語言 » 視頻c語言轉換器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

視頻c語言轉換器

發布時間: 2023-08-05 05:16:38

① 如何用c語言編寫一個視頻播放器

  1. 視頻播放器是一種解碼器。

    解碼器是對已編碼的數字視頻進行還原解碼操作的程序(視頻播放器)或設備。比如系統安裝了real編碼器那就能將其他格式文件轉換成rm或rmvb格式,如果安裝了real解碼器那就能播放rm或rmvb格式文件。

  2. 這已經不是簡單C語言能夠編寫出來的,它的核心是解碼編碼的演算法。

    1,如果你只是想用某些功能,不要自己編了。找一個吧。
    2,非要自己編的話,要站在巨人的肩膀上。很多種編碼都有開源的解碼器了。可以利用他們。或者利用開源的軟體,在人家基礎上開發。
    3,如果你認為你有希望改進壓縮解壓演算法,得到更好的效果,更省地方,更有效的解壓演算法。那首先要做的是了解各種編碼的壓縮解壓演算法。創造一種更好的演算法。

② 急求:C語言進制轉換器代碼完善...又加分了!!!


void
two_ten()
{
long
num;
int
b,TheTen=0,Total=0;
printf("\n請輸入一個二進制數(只包含0或1):");
scanf("%ld",&num);
while(num)
{
b=num-(int)(num/10)*10;
TheTen+=b*pow(2,Total);;
Total++;
num=(int)(num/10);
}
printf("轉換為十進制:");
//列印
printf("%d",TheTen);
printf("\n");
}
void
eight_ten()
{
int
num,
i;
int
arr[20];
printf("\n請輸入一個八進制數(只由0~7之前的數組成):");
scanf("%o",&num);
printf("轉換為十進制:");
//列印
printf("%d",num);
printf("\n");
}
void
sixteen_ten()
{
int
num,
i;
int
arr[20];
printf("\n請輸入一個十六進制數(只由0~9和A~F之前的數組成):");
scanf("%X",&num);
printf("轉換為十進制:");
//列印
printf("%d",num);
printf("\n");
}

③ 請教如何用C語言實現10進制轉換5進制的轉換器

//這是我數據結構課上老師留的課堂作業,但是此代碼並非本人原創。但已通過驗證。
//這個代碼可以把十進制的轉換成任意進制的。
#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 50
#define STACK_INCREMENT 10
//①------------棧定義--------
typedef struct{
int *base;
int *top;
int stacksize;
}Stack;
//②-----------構造棧---------
Stack InitStack()
{
Stack s;
s.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if(!s.base) exit(0);
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
return s;
}
//③------------判空----------
int StackEmpty(Stack s)
{
if(s.base==s.top) //若為空,返回1
return 1;
else
return 0;
}
//④---------- 清空棧----------
void ClearStack(Stack s)
{
s.top=s.base;
}
//⑤------------壓棧-------------
void Push(Stack *s,int elem) //必須用指針,否則top地址出了函數後不變
{
if((s->top-s->base+1)>=s->stacksize)
{
s->base=(int *)realloc(s->base,(STACK_INCREMENT+s->stacksize)*sizeof(int));
if(!s->base) exit(0);
s->top=s->base+s->stacksize;
s->stacksize+=STACK_INCREMENT;
}
*(s->top++)=elem;
}
//⑥------------出棧---------------
int Pop(Stack *s) //必須用指針,否則top地址出了函數後不變
{
if(s->base==s->top)
{
printf("棧為空!");
exit(0);

}
//printf("%d ",*(--s.top));
return *(--s->top);
}
//⑦------------求棧長-----------
int GetLength(Stack s)
{
return s.top-s.base;
}
//⑧-------------求棧頂----------
int GetTop(Stack s)
{
if(s.top==s.base)
{
printf("棧為空!\n");
exit(0);
}
return *(s.top-1);
}
//------------主函數-----------
int main()
{
int d1,d2,d3;
Stack s,*s1;
s=InitStack();
s1=&s;
/*
printf("stacksize=%d\n",s.stacksize);
Push(s1,5);
length=GetLength(s);
printf("棧長為:%d\n",length);
Push(s1,8);
length=GetLength(s);
printf("棧長為:%d\n",length);
printf("top=%d\n",GetTop(s));
printf("%d ",Pop(s1));
length=GetLength(s);
printf("棧長為:%d\n",length);
printf("%d ",Pop(s1));
length=GetLength(s);
printf("棧長為:%d\n",length);
*/
printf("輸入要轉換的十進制數及要轉換為幾進制:(d1 d2)\n");
scanf("%d%d",&d1,&d2);
d3=d1;
while(d1>=d2)
{
Push(s1,(d1%d2));
d1=d1/d2;
}
Push(s1,d1);
printf("%d轉化為%d進制後為:\n",d3,d2);
while(!StackEmpty(s))
{
printf("%d",Pop(s1));
}
printf("\n");
}

④ 用C語言怎樣才能將普通攝像頭獲得的視頻變成可以處理的數據啊

資料庫讀出的JPG文件的字元流,轉換成圖片顯示在頁面上的相關代碼
轉圖片的到有,那個的話是轉換成視頻流
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ServletOutputStream out = res.getOutputStream();
Statement dispStmt = null, setStmt = null;
try {
dispStmt = Con.createStatement();
setStmt = Con.createStatement();
setStmt.executeUpdate("set textsize 2048000");
} catch (Exception e) {
out.println("Create Statement error:" + e.toString() + "<br>");
}

String ls_sql = null;
ls_sql = req.getParameter("ImageSQL");
if (ls_sql == null)
ls_sql = "";
ls_sql = ls_sql.trim();
if (!ls_sql.equals("")) {
ResultSet rs = null;
try {
rs = dispStmt.executeQuery(ls_sql);
} catch (Exception e) {
System.out.println(
"Unable to Exec Statment" + e.toString() + "<br>");
}
try {
while (rs.next()) {
try {
res.setContentType("image/jpeg");
InputStream is = rs.getBinaryStream(1);
int size = is.available();
byte[] bzp = new byte[size];
is.read(bzp);
out.write(bzp);
} catch (Exception e) {
System.out.println("Wirte image error: " + e.toString());
}
}
rs.close();
} catch (Exception e) {
System.out.println("Unable to Close Statment" + e.toString());
}
}
try {
dispStmt.close();
} catch (Exception e) {
System.out.println("Close Statement Error: " + e.toString());
}
out.close();
}

--------------------------------------------------------------------------------

再附一個:

從庫中讀圖片顯示到頁面上的主要源碼
<%@ page contentType="text/html;charset=iso8859_1"%>
<%@ page import="java.sql.ResultSet"%>
<jsp:useBean id="query" class="pub.MakeDB"/>
<%
String sql = "select * from images";
ResultSet rs = query.executeQuery(sql);
rs.next();
InputStream in = rs.getBinaryStream("image");
ServletOutputStream sos = response.getOutputStream();
int len = 0;
byte[] b = new byte[1024];
response.reset();
response.setContentType("image/gif");
while((len = in.read(b)) > 0)
sos.write(b,0,len);
in.close();
sos.close();
query.cls();
%>
如果是寫到文件只要把sos
定義為DataOutputStream sos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("/a.gif")));

⑤ 手機c語言編程軟體哪個好

1:C4droid中文版

C4droid中文版可以說是款Android設備上的最強的 C/C++ IDE,支持多種圖形庫: SDL、SDL2 (需安裝sdl plugin for c4droid)、QT(需安裝CuteLoadear)等,還支持導出APK!