mplayer for linux图像客户端调用,MPlayer的流媒体播放代码执行过程(rtsp)

转自: http://hi.baidu.com/tiplip/item/fa9262f7d5959c0fc7dc455c

1. MPlayer的流媒体播放代码执行过程(rtsp),TCP方式 rtsp_streaming_open rtsp_streaming_start connect2Server connect2Server_with_af 2. MPlayer的流媒体播放代码执行过程(rtp),rtp方式 rtp_stream_open rtp_streaming_start udp_open_socket 3. MPlayer的流媒体播放代码执行过程(rtp),udp方式 udp_stream_open udp_streaming_start udp_open_socket 4. 从网络读取数据 rtp_streaming_read read_rtp_from_server rtp_get_next rtp_cache getrtp2 5. 使用live555 demuxer_desc_rtp 从输入url到开始播放的过程分析 demux_open_rtp,查看输入参数是否为空,sdp是否为空, 如为空,则根据url地址和协议类型来获取sdp的内容,openURL_rtsp 如无法获取sdp,则无法建立会话 下面的语句获取所需的demuxer,比如demuxer_desc_rtp,处理rtp网络流 demuxer_desc_audio,处理mp3文件 demux_open,2949@main demux_open_stream,负责调用demux_open_rtp 启动,main,mplayer.c文件 guiInit(); 初始化界面 GuiThread,界面线程 create_gui,创建界面 create_window EventProc,事件循环 display_openurlwindow,显示输入url界面窗口 OpenUrlWndProc,事件循环,用户按OK键后,发生消息 打开网络文件步骤 mpctx->stream=open_stream(filename,0,&mpctx->file_format); 2854@main stream_t* open_stream_full(char* filename,int mode, char** options, int* file_format) { open_stream_plugin,调用34行的rtsp_streaming_open rtsp_streaming_start 播放视频的执行顺序 update_video, 3393 video_read_frame read_video_packet demux_pattern_3 demux_read_data ds_fill_buffer demux_fill_buffer demux_rtp_fill_buffer 播放本地文件的过程,以播放test.mp4为例 视频过程 demux_open_stream函数在demuxer.c文件中打印 Quicktime/MOV file format detected. lschunks函数在demux_mov.c文件中打印 mp_msg(MSGT_DEMUX, MSGL_INFO, MSGTR_VideoID, "mov", priv->track_db); 同上,打印 mp_msg(MSGT_DEMUX, MSGL_INFO, MSGTR_AudioID, "mov", priv->track_db); demux_open_stream函数在demux.c文件中打印信息,line805 mp_msg(MSGT_DEMUX,MSGL_INFO,"VIDEO: [%.4s] %dx%d %dbpp %5.3f fps %5.1f kbps (%4.1f kbyte/s)\n", preinit函数在vo_gl.c文件中打印,line878 mp_msg (MSGT_VO, MSGL_INFO, "[gl] using extended formats. " init_video函数在dec_video.c文件中打印信息 mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_OpeningVideoDecoder,mpvdec->info->short_name,mpvdec->info->name); init_best_video_codec函数在dec_video.c文件中打印信息 mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_SelectedVideoCodec, 音频过程 init_auido函数,在dec_audio.c文件中 mp_msg(MSGT_DECAUDIO,MSGL_INFO,MSGTR_OpeningAudioDecoder,mpadec->info->short_name,mpadec->info->name); 打印Opening audio decoder:信息 init_audio_codec函数,在dec_audio.c文件中,打印信息 mp_msg(MSGT_DECAUDIO,MSGL_INFO,"AUDIO: %d Hz, %d ch, %s, %3.1f kbit/%3.2f%% (ratio: %d->%d)\n", init_best_audio_codec函数在dec_audio.c文件中 mp_msg(MSGT_DECAUDIO,MSGL_INFO,MSGTR_SelectedAudioCodec, 打印选定的codec信息 打印音频信息:mplayer.c,函数reinit_audio_chain mp_msg(MSGT_CPLAYER,MSGL_INFO,"AO: [%s] %dHz %dch %s (%d bytes per sample)\n", mplayer.c文件的line3333打印如下信息,main函数 mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_StartPlaying); Starting playback... mpcodecs_config_vo在vd.c文件中打印,line150 VDec: vo config request - 176 x 144 (preferred colorspace: Planar YV12) mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_VoConfigRequest,w,h,vo_format_name(preferred_outfmt)); vf_open_filter函数,在文件vf.c中打印 mp_msg(MSGT_VFILTER,MSGL_INFO,MSGTR_OpeningVideoFilter 同上,打印VDec: using Planar YV12 as output csp (no 0) mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_UsingXAsOutputCspNoY,vo_format_name(out_fmt),j); mpcodecs_config_vo在vd.c文件中打印Movie-Aspect is 1.22:1 - prescaling to correct movie aspect. mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MovieAspectIsSet,sh->aspect); sws_getContext函数在swscale.c文件中打印[swscaler @ 009129D0]SwScaler: using unscaled yuv420p -> rgb32 special converter av_log(c, AV_LOG_INFO, "SwScaler: using unscaled %s -> %s special converter\n", config函数在vf_vo.c文件中,打印VO: [gl] 176x144 => 176x144 BGRA mp_msg(MSGT_CPLAYER,MSGL_INFO,"VO: [%s] %dx%d => %dx%d %s %s%s%s%s\n",info->short_name, 打印状态,print_status函数在mplayer.c文件中 播放网络文件信息 Playing rtsp://gnu-linux.3322.org/test.3gp.avi. Resolving gnu-linux.3322.org for AF_INET... Connecting to server gnu-linux.3322.org[58.41.179.173]: 554... rtsp_session: unsupported RTSP server. Server type is 'LAIM1.0.0'. Resolving gnu-linux.3322.org for AF_INET... Connecting to server gnu-linux.3322.org[58.41.179.173]: 80... Server returned 404: Not Found No stream found to handle url rtsp://gnu-linux.3322.org/test.3gp.avi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值