毕设-02.27 在linux下完成ffmepg+vlc的编译和链接 并成功导入eclipse编译运行

今天完成任务: 在linux下完成ffmepg+vlc的编译和链接 并成功导入eclipse编译运行


近十天没写日志了,2.17-2.22一直在WTI实验室那边,跟他们调程序,间断地做下自己的毕设课题。

从2.23才正式全身心去投入做VLC。

之前虽然编译成功过,但是后来发现无法播放视频。各种找问题,无果,最后在另外一位同学的机器上试,结果一次性成功了,说明当时自己的实验室台式机有问题。

后来周日(2.26)自己在笔记本上格掉了原来的LINUX系统,重新装了一个UBUNTU10。04。

昨天还把忠伟清过来了,想让他帮我出出招。后来一起吃了晚饭 ,聊了很久,干这行真是不容易。 :)


转入正题吧,说我是怎么解决的。


在新的ubuntu10.04操作系统上,首先自己编译了x264,然后按照VLC官方wiki的推荐用git下载了最新版的ffmpeg,然后自己编译,链接。中间过程中出现一些库的小问题,都逐一解决了。 后来运行的时候发现,会报错误,链接错误,看上去像是库冲突。然后自己手动去/usr/include和/usr/lib下手动删除了对应的ffmpeg头文件和库。一直回到宿舍,自己重新./configure和make。最后终于能够用ffmpeg去转码了。 试到这里,自己突然觉得很兴奋了。ffmpeg的坎总算过去了。


到了第二天(今天02.27)把从VLCwiki官网上用git下载的vlc版本去./configure和make,现试了一些比较简单的选项,成功了,生成的可执行文件播放完全正常。后来我在添加一个叫做live555选项库的时候,出了问题。./configure的过程中一直报错,说live555不够新,要求是2011.x.x以后的版本,可是我记得这是最新版,然后自己去官网下载live555的最新版,确认了下,跟原来的是一模一样的,但是还是手动重新编译了live555,添加了对应的目录库。还是不行!最后不得不放弃这个git来的版本,因为live555就是RTSP的协议库。

后来想,要不ffmpeg用wiki官网的,VLC用VLC官网下载的,不用git那套。因为我播放git版的那个缺少live555等选项库的可执行文件运行的时候,我查过版本,显示git.2.1.0,怎么比之前自己从VLC官网下载的VLC1.1.13版本号高好多。觉得这两套肯定不一样,后来中午问了另外以为涉及过的同学,他告诉我二者里面的代码都不一样。我就索性放弃了git2.1.0的版本了,下定觉醒,弄VLC1.1.13。 悲剧的是,vlc1.1.13 ./configure很顺利过了,但是make的时候报错,而且不是涉及到库的那种错误,所以没法通过添加库来解决。后来查了下,信息很少,不过有人提到是ffmpeg的版本不匹配,换个老版本。 我想,git版真是碍事阿,估计git的ffmpeg是最新的,可能要配最新的vlc。后来不得不忍痛把已经确认弄好的ffmpeg又卸载掉,手动把库,头文件删除掉。然后下载了一个ffmpeg-0.6,然后./configure make 测试ffmpeg转码,又出现了昨晚的链接错误。打算仔细查找原因了,后来查到了/usr/lib/i686/cmov下的库,仔细一看,这个里面的库怎么和ffmpeg生成的库名称都一样阿,查了下文件时间,昨天下午5点多的。我决心把他们手动强制删除掉。后来ffmpeg运行时的链接错误果然消除了。转码完全正常,不过我有点纳闷,为什么git下来的最新的ffmpeg跟原来的库不冲突,难道最新版的库解决掉了这些冲突的bug?只能这么猜想了。   然后就弄vlc1.1.13 ./configure make,很顺利,生成的可执行程序测试了,正常! 太兴奋了,有成就感!后来用同样的方法,在台式机上弄了一遍,也成功了。


晚上回宿舍前的最后时间尝试了把工程导入eclipse,开始一直报错误。我查了一个错误,说是没有main入口,我猜想,估计是./configure的时候调到build子目录下去了,main估计在build子目录外头.然后我查了下确实,在vlc-1.1.13下的bin文件夹下的vlc.c里。 我猜想,./configure的时候不要像VLC wiki上所提示的(http://wiki.videolan.org/User:J-b#VLC_configure_line)新建build文件夹,进入里面去./configure和make。 我直接在vlc-1.1.13下./configure and make。然后导入的时候直接导入这个大工程,果然编译,运行都成功了!!!!!!


2月份还剩下最后两天,明天花半天时间去WTI实验室,把剩下的那个BUG解决。

其他半天+晚上+后天,完成两个任务:

1)熟练掌握eclipse调试

2)把服务器搭起来,实现简单RTSP流的视频点播系统(难)

如果可能的话,再完成一个任务:把现在这个成功编译和连接好的vlc-1.1.13版程序在win32下的cygwin下移植好! 为后期的开发降低风险,增强保障。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值