LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: dyte200

网络电视前端 gtk-sopcast(支持音量调节,实时状态显示,mplayer无延迟启动)

[复制链接]
发表于 2006-4-30 12:33:25 | 显示全部楼层
楼主的0.017f有哪些改动呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-8 23:17:14 | 显示全部楼层
Post by jazzi
楼主的0.017f有哪些改动呢
另外请教一下用make install后现在如何卸载呢
还有是不是不需要单独下载sp-sc了?

卸载需要删除/usr/local/bin/sopcast, /usr/local/bin/sp-sc
是的,已经带sp-sc了
修正了点Record之后无法停止record的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-8 23:26:08 | 显示全部楼层
按照自己的思路重写了shejishikong兄的代码。(原程序点最小化后就僵死了,不知道什么原因)
http://lianwei3.googlepages.com/home2
编译:
qmake -project
qmake
make
有些按钮还无法用,record功能还未实现。
另:发现qt的QSocket类无法处理二进值流(只能处理字符流?),当流到来时,没有信号产生。
另:怎样将QString的对象用printf输出到终端?
回复 支持 反对

使用道具 举报

发表于 2006-5-9 12:38:48 | 显示全部楼层
Post by dyte200
按照自己的思路重写了shejishikong兄的代码。(原程序点最小化后就僵死了,不知道什么原因)
http://lianwei3.googlepages.com/home2
编译:
qmake -project
qmake
make
有些按钮还无法用,record功能还未实现。
另:发现qt的QSocket类无法处理二进值流(只能处理字符流?),当流到来时,没有信号产生。
另:怎样将QString的对象用printf输出到终端?

你的是什么系统?在magic上没有最小化僵死的现象。QSocket应该能处理二进制流吧,用QDataStream代替QTextStream吧。或者readBlock,又或readRawData?记不清了。QString可以转成const char*吧。不过也可以不输出到终端啊,用messagebox代替吧。

另:sopcast的官方程序在0.9.0后有较大变化,并且官方网站也有了.com的。频道列表也不一样了,我还没试用现在的0.8.1能不能播放,如果能播放的话,源程序里获取列表的这部分要改。
回复 支持 反对

使用道具 举报

发表于 2006-5-9 12:45:43 | 显示全部楼层
看了你的代码,非常漂亮,比我的质量高多了

不过保存设置没有实现?用QSetting实现挺容易的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-9 15:33:09 | 显示全部楼层
Post by sejishikong
你的是什么系统?在magic上没有最小化僵死的现象。QSocket应该能处理二进制流吧,用QDataStream代替QTextStream吧。或者readBlock,又或readRawData?记不清了。QString可以转成const char*吧。不过也可以不输出到终端啊,用messagebox代替吧。

另:sopcast的官方程序在0.9.0后有较大变化,并且官方网站也有了.com的。频道列表也不一样了,我还没试用现在的0.8.1能不能播放,如果能播放的话,源程序里获取列表的这部分要改。

slackware
我用QSocket的客户端client:
http://www.lividot.org/man/doc.t ... r-example.html#x854
连接sp-sc的输出端口,可以产生 connected ()信号,但无法产生readyRead ()信号(我搜了一遍qt也没有发现一个替代的信号),因此client无法获知什么时候数据到来
回复 支持 反对

使用道具 举报

发表于 2006-5-9 17:09:19 | 显示全部楼层
Post by sejishikong
我想分析下pplive的协议,写个兼容的客户端,不过试了试,难度很大。

老大有空的话,建议还是研究一下ppstream,或者是tvant,这两个比pplive要好得多。
回复 支持 反对

使用道具 举报

发表于 2006-5-9 21:31:47 | 显示全部楼层
Post by dyte200
slackware
我用QSocket的客户端client:
http://www.lividot.org/man/doc.t ... r-example.html#x854
连接sp-sc的输出端口,可以产生 connected ()信号,但无法产生readyRead ()信号(我搜了一遍qt也没有发现一个替代的信号),因此client无法获知什么时候数据到来

也许qhttp的get可以?没试过.代替readyRead的信号怕是没有.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-9 23:45:01 | 显示全部楼层
Post by sejishikong
也许qhttp的get可以?没试过.代替readyRead的信号怕是没有.
已解决,原来还是以前遇到的问题:sp-sc 0.8.1需要先发送任意数据才能接受数据。



用类似以下的代码可以下载流媒体,但好像有断裂情况,mplayer放不了(首先需要删除文件的头2,3行得到asf格式文件)。
[php]
Client()
{
  QFile file;
  QDataStream stream;
  file.setName ("data.asf");
  file.open (IO_WriteOnly);
  stream.setDevice (&file);
  connect (sockfd, SIGNAL (readyRead ()), SLOT (socketReadyRead ()));
}
void socketReadyRead ()
{
    QCString s;
    s.resize (sockfd->bytesAvailable () + 1);
    sockfd->readBlock (s.data (), sockfd->bytesAvailable ());
    stream << s;
}
void closeConnection ()
{
   file.close();
   sockfd->close ();
}
[/php]

另:如果我用c系统编程中的connect函数(网络编程中的函数,非qt的信号连接函数),应该怎样写才能让qt知道这是网络函数?(已解决,把该函数放到类外面)

如果有qt或kde下的简单的下载工具,参考其源代码可能有所帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-10 18:06:48 | 显示全部楼层

qt_sopcast 0.0.2

增加录制,自动选端口功能
--------------------------------
谁有兴趣做一个浮点电视的linux gui? 用wine运行。
看了一下,它的输出端口为:40000-60000?
播放地址为:http://localhost:port/live.asf
回复 支持 反对

使用道具 举报

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

本版积分规则

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