QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 803|回复: 5

来一个xvid的问题

[复制链接]
发表于 2003-5-7 11:17:12 | 显示全部楼层 |阅读模式
是这样的,我有一个片子matrix(我已经看过N遍了) ,是divx low motion压的.

因为xvid是兼容divx老版本的,所以我改了fourcc(在windows下)
divx,div3,xvid都试过了,在graphedit中,只有divx4,3ivx,moonlight的mpeg4 解码器可以播放.xvid不行,最好的情况是图连起来了,但是无法播放,窗口内是黑平.


我把这个avi上传到我的linux机器中,mplayer是可以的,因为他用老的divx解码器,
但是gmp4player无法播放,他使用xvid(我已经将把fourcc改成xvid了)


xvid解码器是否可以播放fourcc为div3的视频!!!!请教!
发表于 2003-5-7 16:37:23 | 显示全部楼层
这个不太清楚,没研究过这些电影格式,google一下试试
回复

使用道具 举报

发表于 2003-5-8 08:25:02 | 显示全部楼层

Re: 来一个xvid的问题

[quote:4065a46608="luoda"]是这样的,我有一个片子matrix(我已经看过N遍了) ,是divx low motion压的.

因为xvid是兼容divx老版本的,所以我改了fourcc(在windows下)
divx,div3,xvid都试过了,在graphedit中,只有divx4,3ivx,moonlight的mpeg4 解码器可以播放.xvid不行,最好的情况是图连起来了,但是无法播放,窗口内是黑平.


我把这个avi上传到我的linux机器中,mplayer是可以的,因为他用老的divx解码器,
但是gmp4player无法播放,他使用xvid(我已经将把fourcc改成xvid了)


xvid解码器是否可以播放fourcc为div3的视频!!!!请教![/quote]
虽然你是吃饱了撑的,不过xvid应该支持div3的解码,但目前还在努力中。
BTW,fourcc是M$的东西,mplayer没有。
回复

使用道具 举报

 楼主| 发表于 2003-5-8 09:23:47 | 显示全部楼层
mplayer的帮助文档不能说明什么问题,除非你给出实验结果.
fourcc不是什么ms的东西.播放avi的应用程序都应该知道fourcc是什么东东,不关他是不是linux上的.
我只想问那些在编译时选择xvid支持的人有没有实验过.
回复

使用道具 举报

发表于 2003-5-8 12:06:46 | 显示全部楼层
[quote:07c5b325e7="luoda"]mplayer的帮助文档不能说明什么问题,除非你给出实验结果.
[/quote]
我是看的xvid.org的forum上的。
[quote:07c5b325e7="luoda"]fourcc不是什么ms的东西.播放avi的应用程序都应该知道fourcc是什么东东,不关他是不是linux上的.[/quote]
www.fourcc.org上的
Back in the dim and distant days when Windows 3.1 was the greatest thing in GUIs and Video for Windows was just hitting the streets, Microsoft introduced the concept of the FOURCC (Four Character Code) as a means to identify a video datastream format unambiguously (but see here for more history - FOURCCs go back further than Microsoft). Every compression format and pixel layout to be used in Video for Windows would have a unique FOURCC value assigned to it and applications would be able to pass video frames between file and codec merely by making sure that the FOURCC of the source frames matched a FOURCC supported by the codec.
回复

使用道具 举报

 楼主| 发表于 2003-5-8 19:45:14 | 显示全部楼层

还是回复一下吧

[/quote]
虽然你是吃饱了撑的,不过xvid应该支持div3的解码,但目前还在努力中。
BTW,fourcc是M$的东西,mplayer没有。[/quote]

你要为fourcc贴上政治标签,我没有任何问题.我不认为他属于某个公司,或则某个播放器.

mplayer没有自己的音视频格式,可他还是知道这么个东东的.


[code:1]
cfg-mencoder.h:        {"ffourcc", &force_fourcc, CONF_TYPE_STRING, 0, 4, 4, NULL},
codec-cfg.c:static int add_to_fourcc(char *s, char *alias, unsigned int *fourcc,
codec-cfg.c:        for (i = 0; i < CODECS_MAX_FOURCC && fourcc[i] != 0xffffffff; i++)
codec-cfg.c:                        if (tmp == fourcc[j])
codec-cfg.c:                fourcc[i] = tmp;
codec-cfg.c:        mp_msg(MSGT_CODECCFG,MSGL_ERR,"duplicated fourcc");
codec-cfg.c:        mp_msg(MSGT_CODECCFG,MSGL_ERR,"too many fourcc/format...");
codec-cfg.c:static int add_to_format(char *s, char *alias,unsigned int *fourcc, unsigned int *fourccmap)
codec-cfg.c:        for (i = 0; i < CODECS_MAX_FOURCC && fourcc[i] != 0xffffffff; i++)
codec-cfg.c:                mp_msg(MSGT_CODECCFG,MSGL_ERR,"too many fourcc/format...");
codec-cfg.c:        fourcc[i]=strtoul(s,&endptr,0);
codec-cfg.c:            fourccmap[i]=strtoul(alias,&endptr,0);
codec-cfg.c:            fourccmap[i]=fourcc[i];
codec-cfg.c:                if (fourcc[j] == fourcc[i]) {
codec-cfg.c:        if (c->fourcc[0] == 0xffffffff) {
codec-cfg.c:                mp_msg(MSGT_CODECCFG,MSGL_ERR,"\ncodec(%s) does not have fourcc/format!\n", c->name);
codec-cfg.c:                        memset(codec->fourcc, 0xff, sizeof(codec->fourcc));
codec-cfg.c:                } else if (!strcmp(token[0], "fourcc")) {
codec-cfg.c:                        if (!add_to_fourcc(token[0], token[1],
codec-cfg.c:                                                codec->fourcc,
codec-cfg.c:                                                codec->fourccmap))
codec-cfg.c:                                        codec->fourcc,codec->fourccmap))
codec-cfg.c:codecs_t *find_audio_codec(unsigned int fourcc, unsigned int *fourccmap,
codec-cfg.c:        return find_codec(fourcc, fourccmap, start, 1);
codec-cfg.c:codecs_t *find_video_codec(unsigned int fourcc, unsigned int *fourccmap,
codec-cfg.c:        return find_codec(fourcc, fourccmap, start, 0);
codec-cfg.c:codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,
codec-cfg.c:                                if (start->fourcc[j] == fourcc) {
codec-cfg.c:                                        if (fourccmap)
codec-cfg.c:                                                *fourccmap = start->fourccmap[j];
codec-cfg.c:                                if (c->fourcc[j]==fourcc || !strcmp(c->drv,"null")) {
codec-cfg.c:                                        if (fourccmap)
codec-cfg.c:                                                *fourccmap = c->fourccmap[j];
codec-cfg.c:                    if(!d || codec->fourcc[d]!=0xFFFFFFFF)
codec-cfg.c:                        fprintf(f2,"%s%.4s",d?"<br>":"",(codec->fourcc[d]==0xFFFFFFFF || codec->fourcc[d]<0x20202020)?!d?"-":"":(char*) &codec->fourcc[d]);
codec-cfg.c:                    if(codec->fourcc[d]!=0xFFFFFFFF)
codec-cfg.c:                        fprintf(f2,"%s0x%X",d?"<br>":"",codec->fourcc[d]);
codec-cfg.c:                                print_int_array(cod[i][j].fourcc, CODECS_MAX_FOURCC);
codec-cfg.c:                                printf(", /* fourcc */\n");
codec-cfg.c:                                print_int_array(cod[i][j].fourccmap, CODECS_MAX_FOURCC);
codec-cfg.c:                                printf(", /* fourccmap */\n");
codec-cfg.c:                      if(c->fourcc[j]!=0xFFFFFFFF){
codec-cfg.c:                          printf("fourcc %02d:  %08X (%.4s) ===> %08X (%.4s)\n",j,c->fourcc[j],(char *) &c->fourcc[j],c->fourccmap[j],(char *) &c->fourccmap[j]);
codec-cfg.h:        unsigned int fourcc[CODECS_MAX_FOURCC];
codec-cfg.h:        unsigned int fourccmap[CODECS_MAX_FOURCC];
codec-cfg.h:codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
codec-cfg.h:codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
codec-cfg.h:codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag);
mencoder.c:char *force_fourcc=NULL;
mencoder.c:  mp_msg(MSGT_MENCODER,MSGL_INFO,"[V] filefmt:%d  fourcc:0x%X  size:%dx%d  fps:%5.2f  ftime:=%6.4f\n",
mencoder.c:    printf("videocodec: framecopy (%dx%d %dbpp fourcc=%x)\n",
mencoder.c:/* force output fourcc to .. */
mencoder.c:if ((force_fourcc != NULL) && (strlen(force_fourcc) >= 4))
mencoder.c:
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-5 10:15 , Processed in 0.068451 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表