ubuntu下flv解码器怎么win7下安装ubuntu

Deidara 的BLOG
用户名:Deidara
文章数:105
评论数:460
访问量:814472
注册日期:
51CTO推荐博文
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ffmpeg篇&&&&&&
&&&& 由于项目中需要实现将上传视频格式转为flv,这几天一直在研究ubuntu下ffmpeg与mencoder,没想到在centos下安装ffmpeg成功,在ubuntu下搞了好久呵呵。
实验所用的系统是& 7.10
首先安装所需要的库:
apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev&&libxvidcore4 libxvidcore-dev libdc1394-dev libfaac-dev liblame-dev&libfaad2-dev libtheora-dev libsdl1.2-dev&
libx264-dev也可以apt但是我这里下安装下来,会报关于libavcodec/libx264.c这个文件的错误。我是编译安装的。下载地址&
然后让ffmpeg支持 3GP格式
下载源代码
解压以后把里面的_ANSI-C_source_code.zip解压后的文件都拷贝到ffmpeg/libavcodec/amrwb_float
解压以后把里面的_ANSI_C_source_code.zip解压后的文件都拷贝到ffmpeg/libavcodec/amr_float
而后下载amr-wb包,解压,编译,安装:
wget [url]http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2[/url]tar jxvf amrwb-7.0.0.1.tar.bz2cd amrwb-7.0.0.1./configure --prefix=/usr/localmakemake install
下载amr-nb包,解压,编译,安装:
wget [url]http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2[/url]tar jxvf amrnb-6.1.0.4.tar.bz2cd amrnb-6.1.0.4./configure --prefix=/usr/localmakemake install
最后checkout ffmpeg的最后版本:
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg cd ffmpeg&&
./configure --prefix=/usr --disable-debug --enable-shared --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-liba52& --enable-liba52bin& --enable-libdc1394 --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libamr_nb --enable-libamr_wb& --enable-nonfreemake
make install
坐下来喝杯茶吧,make的时候很慢的呵呵。编译成功后。可以通过命令尝试一下将视频转换成flv也可以转换成3GP 哈,转换3GP的命令网上很少,我找到一条可以用的。
ffmpeg -y -i 2.flv -ac 1 -acodec libamr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp
好, 别的格式转换flv命令如下
ffmpeg -i "a.avi" -y -ab 32 -ar 22050 -b 800000 -s 640*480 /opt/a.flv
mencoder安装篇
1、下载主程序:
2、,安装:tar vjxf essential-.tar.bz2 mv essential- /usr/lib/codes chmod 644 /usr/lib/codes/* chown root.root /usr/lib/codes/*
3、,安装:unzip windows-essential-.zip mv windows-essential- /usr/lib/wincodes chmod 644 /usr/lib/wincodes/* chown root.root /usr/lib/wincodes/*
4、安装mplayer
tar vjxf MPlayer-1.0rc1.tar.bz2cd MPlayer-1.0rc1./configure --prefix=/usr/local/mplayer/ --enable-freetype --with-codecsdir=/usr/lib/codes/ --with-win32libdir=/usr/lib/wincodes/ --disable-gcc-check --language=zh_CN
make install
命令行转换
mencoder -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate=500 -srate 22050 -oac lavc -lavcopts acodec=mp3:abitrate=56 -ffourcc FLV1 -oac mp3lame 1.rmvb -o 1.flv
如果你需要使用mplayer在linux下播放视频,还需要加上--enable-gui(图形界面),不过这样就要安装多很多东西了,这里我们只使用它的mencoder,所以--enable-gui可以省略
这样几乎所有格式都支持了,呵呵!
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
15:30:39 12:04:11 09:48:13 12:30:32 12:52:04Ubuntu系统中如何合并多个flv文件-阿里云资讯网
Ubuntu系统中如何合并多个flv文件
发布时间:
更新时间:
来源:网络
作者:草莓的心情
Macromedia /zixun/aggregation/12592.html&&Flash 视频 (FLV) 文件格式可以导入或导出带编码音频的静态视频流。此格式适用于通讯应用程序(如视频会议)以及包含从 Flash Communication Server 中导出的屏幕共享编码数据的文件。
可以经视频转换软件 转换为其他格式如3gp/mp4等等。
FLV 是FLASH VIDEO的简称,FLV格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。
那么,在系统中我们应何合并多个flv文件呢?很简单,总共两句就可以搞定收工啦!
install mencoder
mencoder -forceidx -of lavf -oac pcm -ovc copy -o output.flv 01.flv 02.flv 03.flv 04.flv
本站所有文章全部来源于互联网,版权归属于原作者。本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(yanjing@),我们收到后立即删除。
网站主机空间
摘要: 我们知道搜索引擎蜘蛛在访问网站的时候,有个判断因素就是网站打开速度是否快速,所以站长们在选择网站主机空间就要注意了。如果网站主机空间不稳定也会给seo带来一定影响的。 我们知道搜索引擎蜘蛛在访问网站的时候,有个判断因素就是网站打开速度是否快速,所以站长们在选择网站主机空间就要注意了。如果网站主机空间不稳定也会给seo带来一定影响的。 当搜索引擎蜘蛛来访问网站的时候,发现主机死机,无法...
摘要: 心态篇 其实做个人站长自己的心态很重要,不论你是新手站长还是经验丰富的老站长。都该把自己的心态摆正了,网上有很多什么月收入过万的软文,其实真正有几个呢。多数高手都是 心态篇 其实做个人站长自己的心态很重要,不论你是新手站长还是经验丰富的老站长。都该把自己的心态摆正了,网上有很多什么月收入过万的软文,其实真正有几个呢。多数高手都是低调赚钱的。那么个人站长要具备那些心态呢? 第一: 学会...
产品网站订单
摘要: 企业营销已经不再是传统的模式,越来越多的企业英雄通过seo优化的方法做行业关键字排名,希望可以通过关键词获得流量和订单销量,不过很多企业网站的IP流量上涨,订单销量却不 企业营销已经不再是传统的模式,越来越多的企业英雄通过seo优化的方法做行业关键字排名,希望可以通过关键词获得流量和订单销量,不过很多企业网站的IP流量上涨,订单销量却不尽如人意。 很多卖产品的网站存在的一个问题是有流...
2012年的苏宁正面临着同样的挑战。做了二十多年零售的张近东,其面临的现实挑战已经不是让苏宁如何避免撞上冰山,而是已经撞上了冰山,如何让这艘巨轮前行,而不是坐等沉没。 “泰坦尼克号”是如何沉没的? 泰坦尼克号设计中,如果船上的16个防水舱只有4个进水的话,船还可以浮在水上,但不幸的是有5个底舱的外壁被冰山撕裂了,弃船是必然的选择。 苏宁作为中国最优秀的连锁零售商,如果在线零售只是占所有社会商...
网站策划方案
摘要: 要建立一个网站,需要从网站定位,到设计、网站结构、内容准备、内外链的建设等等,是一个复杂繁琐的过程,需要准备一份网站的策划方案。本文将简要描述,从网站的定位到最终 要建立一个网站,需要从网站定位,到设计、网站结构、内容准备、内外链的建设等等,是一个复杂繁琐的过程,需要准备一份网站的策划方案。本文将简要描述,从网站的定位到最终的网站建成,整个过程。 一、网站的定位 分析:给网站定位,策...
行业网站编辑
摘要: 我们需要做一个什么样的网站?很多时候大家感觉做行业网站比较简单容易,于是越来越多的朋友涉足行业网站这一块,加上一些传统行业慢慢向互联网转移,一批批的行业网站建立起来 我们需要做一个什么样的网站?很多时候大家感觉做行业网站比较简单容易,于是越来越多的朋友涉足行业网站这一块,加上一些传统行业慢慢向互联网转移,一批批的行业网站建立起来了。然而不少朋友都问到守护一个很重要的问题是:行业网站到...
服务与支持
售前咨询:400-118-)
账号与支付
关注阿里云下次自动登录
现在的位置:
& 综合 & 正文
ubuntu linux下建立stm32开发环境: GCC安装以及工程Makefile建立
之前在掏了一个STM32开发板挺好的,却不想在window下开发,也不想用那么占内存的IAR MDK等软件,所以决定在ubuntu下建立该开发环境,像之前avr linux一样,找了下资料,国内有人做过,但都没有很详尽的教程,所以花了三四天才完成.其实原理很简单,就是安装适用与STM32的GCC,以及建立该工程,主要是Makefile加上STM32的官方库.
个人原创,转载请注明原文出处:
博主最近在电脑上自建了博客,以后会更多的用那个了,欢迎关注访问,里面也有很多有用资源:
ubuntu 13.10
stm32f103zet6
STM 32 GCC 安装
stm32 属于arm cortex-m系列thumb指令集,所以给arm用的arm-none-eabi就可以了,首先是下载
https://launchpad.net/gcc-arm-embedded/+download
下载其中的gcc-arm-none-eabi-version-linux.tar.bz2
解压到你知道的目录会产生
gcc-arm-none-eabi的文件夹
把该编译器添加到你的环境中:
sudo gedit
在最后一行添加:
export PATH=$PATH:/your_stm_gcc_dir/gcc-arm-none-eabi-4_8-2013q4/bin
因为我之前有添加过树莓派的编译器了,所以实际上是这样的:
export PATH=$PATH:/your_pi_gcc_dir/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/:/your_stm_gcc_dir/gcc-arm-none-eabi-4_8-2013q4/bin
两个编译器环境中间用冒号隔开;
注销后测试:
arm-none-eabi-gcc -v
可以查看到该编译器的版本,就表示可以了.
工程环境的建立
新建个工程文件夹,及其目录
mkdir stm_project
cd stm_project
mkdir libs
下载,安装官方库:
stm32的寄存器不像51 avr等单片机,那么少,自己写写库,背背寄存器就可以了,所以ST公司提供了他们官方的库,为了避免重复造轮子,就直接采用他们的库,库版本为STM32_USB-FS-Device_Lib_V4.0.0,这个库多了usb支持,下载的话到st官网搜索stm32f10x就有了.
解压,把解压好的文件夹复制到刚才新建的libs里面.
在工程根目录下新建mon文件,这个为通用makefile
# include Makefile
#This file is included in the general Makefile, the libs Makefile and the src Makefile
#Different optimize settings for library and source files can be realized by using arguments
#Compiler optimize settings:
# -O0 no optimize, reduce compilation time and make debugging produce the expected results (default).
# -O1 optimize, reduce code size and execution time, without much increase of compilation time.
# -O2 optimize, reduce code execution time compared to ‘O1’, increase of compilation time.
# -O3 optimize, turns on all optimizations, further increase of compilation time.
# -Os optimize for size, enables all ‘-O2’ optimizations that do not typically increase code size and other code size optimizations.
#Recommended optimize settings for release version: -O3
#Recommended optimize settings for debug version: -O0
#Valid parameters :
# OptLIB=0 --& optimize library files using the -O0 setting
# OptLIB=1 --& optimize library files using the -O1 setting
# OptLIB=2 --& optimize library files using the -O2 setting
# OptLIB=3 --& optimize library files using the -O3 setting
# OptLIB=s --& optimize library files using the -Os setting
# OptSRC=0 --& optimize source files using the -O0 setting
# OptSRC=1 --& optimize source files using the -O1 setting
# OptSRC=2 --& optimize source files using the -O2 setting
# OptSRC=3 --& optimize source files using the -O3 setting
# OptSRC=s --& optimize source files using the -Os setting
# all --& build all
# libs --& build libs only
# src --& build src only
# clean --& clean project
# tshow --& show optimize settings
# make OptLIB=3 OptSRC=0 all tshow
TOP=$(shell readlink -f "$(dir $(lastword $(MAKEFILE_LIST)))")
PROGRAM=main
LIBDIR=$(TOP)/libs
#Adust the following line to the library in use
#=========add by embbnux
根据你的库不同,调整这个地方的库目录地址====================#
STMLIB=$(LIBDIR)/STM32_USB-FS-Device_Lib_V4.0.0/Libraries
#=========add by embbnux
根据你的stm32芯片型号容量不同,修改这个地方的TypeOfMCU=======#
#Adjust TypeOfMCU in use, see CMSIS file "stm32f10x.h"#STM32F103RBT (128KB FLASH, 20KB RAM) --& STM32F10X_MD#TypeOfMCU=STM32F10X_MD#STM32F103RET (512KB FLASH, 64KB RAM) --& STM32F10X_HD#STM32F103ZET (512KB FLASH, 64KB RAM) --& STM32F10X_HD
#============================================================================#
TypeOfMCU=STM32F10X_HD
#============================================================================#
TC=arm-none-eabi
CC=$(TC)-gcc
LD=$(TC)-ld -v
OBJCOPY=$(TC)-objcopy
AR=$(TC)-ar
GDB=$(TC)-gdb
INCLUDE=-I$(TOP)/inc
INCLUDE+=-I$(STMLIB)/CMSIS/Include
INCLUDE+=-I$(STMLIB)/CMSIS/Device/ST/STM32F10x/Include
INCLUDE+=-I$(STMLIB)/CMSIS/Device/ST/STM32F10x/Source/Templates
INCLUDE+=-I$(STMLIB)/STM32F10x_StdPeriph_Driver/inc
INCLUDE+=-I$(STMLIB)/STM32_USB-FS-Device_Driver/inc
COMMONFLAGS=-g -mcpu=cortex-m3 -mthumb
COMMONFLAGSlib=$(COMMONFLAGS)
#Commands for general Makefile and src Makefile
ifeq ($(OptSRC),0)
COMMONFLAGS+=-O0
InfoTextSrc=src (no optimize, -O0)
else ifeq ($(OptSRC),1)
COMMONFLAGS+=-O1
InfoTextSrc=src (optimize time+ size+, -O1)
else ifeq ($(OptSRC),2)
COMMONFLAGS+=-O2
InfoTextSrc=src (optimize time++ size+, -O2)
else ifeq ($(OptSRC),s)
COMMONFLAGS+=-Os
InfoTextSrc=src (optimize size++, -Os)
COMMONFLAGS+=-O3
InfoTextSrc=src (full optimize, -O3)
CFLAGS+=$(COMMONFLAGS) -Wall -Werror $(INCLUDE)
CFLAGS+=-D $(TypeOfMCU)
CFLAGS+=-D VECT_TAB_FLASH
#Commands for libs Makefile
ifeq ($(OptLIB),0)
COMMONFLAGSlib+=-O0
InfoTextLib=libs (no optimize, -O0)
else ifeq ($(OptLIB),1)
COMMONFLAGSlib+=-O1
InfoTextLib=libs (optimize time+ size+, -O1)
else ifeq ($(OptLIB),2)
COMMONFLAGSlib+=-O2
InfoTextLib=libs (optimize time++ size+, -O2)
else ifeq ($(OptLIB),s)
COMMONFLAGSlib+=-Os
InfoTextLib=libs (optimize size++, -Os)
COMMONFLAGSlib+=-O3
InfoTextLib=libs (full optimize, -O3)
CFLAGSlib+=$(COMMONFLAGSlib) -Wall -Werror $(INCLUDE)
CFLAGSlib+=-D $(TypeOfMCU)
CFLAGSlib+=-D VECT_TAB_FLASH
编译库文件:
进入libs文件夹,新建Makefile:
# libs Makefile
include ../mon
LIBS+=libstm32.a
CFLAGSlib+=-c
libs: $(LIBS)
libstm32.a:
@echo -n "Building $@ ..."
@cd $(STMLIB)/CMSIS/Device/ST/STM32F10x/Source/Templates && \
$(CC) $(CFLAGSlib) \
system_stm32f10x.c
@cd $(STMLIB)/STM32F10x_StdPeriph_Driver/src && \
$(CC) $(CFLAGSlib) \
-D"assert_param(expr)=((void)0)" \
-I../../CMSIS/Include \
-I../../CMSIS/Device/ST/STM32F10x/Include \
-I../inc \
# @cd $(STMLIB)/STM32_USB-FS-Device_Driver/src && \
# $(CC) $(CFLAGSlib) \
# -D"assert_param(expr)=((void)0)" \
# -I../../CMSIS/Include \
# -I../../CMSIS/Device/ST/STM32F10x/Include \
# -I../inc \
@$(AR) cr $(LIBDIR)/$@ \
$(STMLIB)/CMSIS/Device/ST/STM32F10x/Source/Templates/system_stm32f10x.o \
$(STMLIB)/STM32F10x_StdPeriph_Driver/src/*.o \
$(STMLIB)/STM32_USB-FS-Device_Driver/src/*.o
@echo "done."
.PHONY: libs clean tshow
rm -f $(STMLIB)/CMSIS/Device/ST/STM32F10x/Source/Templates/system_stm32f10x.o
rm -f $(STMLIB)/STM32F10x_StdPeriph_Driver/src/*.o
rm -f $(STMLIB)/STM32_USB-FS-Device_Driver/src/*.o
rm -f $(LIBS)
@echo "######################################################################################################"
@echo "################# optimize settings: $(InfoTextLib), $(InfoTextSrc)"
@echo "######################################################################################################"
make clean
就会在lib目录下生成libstm32.a,这个就是编译好的静态库了.
建立工程编译ld文件
这个ld文件,为在编译时告诉编译器把放到什么地址,根据芯片的内存以及flash容量不同有所调整
在工程根目录下新建linker.ld文件
代码较长,请到我的资源里面下载,或者查看参考pdf里面的:
这里说明需要修改的地方,根据芯片型号不同,选择相应的RAM FLASH大小
/*Adust LENGTH to RAMsize of target MCU:*/
/*STM32F103RBT --& 20K*/
/*RAM (RWX) : ORIGIN = 0x , LENGTH = 20K*/
/*STM32F103RET --& 64K*/
/*STM32F103ZET --& 64K*/
RAM (RWX) : ORIGIN = 0x , LENGTH = 64K
EXTSRAM (RWX) : ORIGIN = 0x , LENGTH = 0
/*Adust LENGTH to (FLASHsize - FeePROMsize) of target MCU:*/
/*STM32F103RBT --& 126K*/
FLASH (RX) : ORIGIN = 0x , LENGTH = 126K
/*STM32F103RET --& 508K*/
/*FLASH (RX) : ORIGIN = 0x , LENGTH = 508K*/
/*STM32F103ZET --& 508K*/
FLASH (RX) : ORIGIN = 0x , LENGTH = 508K
/*Adust ORIGIN to (0x + (FLASHsize-FeePROMsize)) of target MCU*/
/*and adust LENGTH to FeePROMsize allocated:*/
/*STM32F103RBT --& 0xK, 2K*/
EEMUL (RWX) : ORIGIN = 0xK, LENGTH = 2K
/*STM32F103RET --& 0xK, 4K*/
/*EEMUL (RWX) : ORIGIN = 0xK, LENGTH = 4K*/
在工程根目录下新建Makefile文件:
# general Makefile
LDFLAGS=$(COMMONFLAGS) -fno-exceptions -ffunction-sections -fdata-sections -L$(LIBDIR) -nostartfiles -Wl,--gc-sections,-Tlinker.ld
LDLIBS+=-lm
LDLIBS+=-lstm32
STARTUP=startup.c
all: libs src
$(CC) -o $(PROGRAM).elf $(LDFLAGS) \
-Wl,--whole-archive \
src/app.a \
-Wl,--no-whole-archive \
$(OBJCOPY) -O ihex $(PROGRAM).elf $(PROGRAM).hex
$(OBJCOPY) -O binary $(PROGRAM).elf $(PROGRAM).bin
#Extract info contained in ELF to readable text-files:
arm-none-eabi-readelf -a $(PROGRAM).elf & $(PROGRAM).info_elf
arm-none-eabi-size -d -B -t $(PROGRAM).elf & $(PROGRAM).info_size
arm-none-eabi-objdump -S $(PROGRAM).elf & $(PROGRAM).info_code
arm-none-eabi-nm -t d -S --size-sort -s $(PROGRAM).elf & $(PROGRAM).info_symbol
.PHONY: libs src clean tshow
$(MAKE) -C libs $@
$(MAKE) -C src $@
$(MAKE) -C src $@
$(MAKE) -C libs $@
rm -f $(PROGRAM).elf $(PROGRAM).hex $(PROGRAM).bin $(PROGRAM).info_elf $(PROGRAM).info_size
rm -f $(PROGRAM).info_code
rm -f $(PROGRAM).info_symbol
@echo "######################################################################################################"
@echo "################# optimize settings: $(InfoTextLib), $(InfoTextSrc)"
@echo "######################################################################################################"
差不多就好了,在src里面添加测试源码
主要是startup.c 以及main.c,这里就不在说明了,可以查看该pdf或者到我的资源下载
然后进入工程主目录,下make就好了.
make clean
make OptLIB=0 OptSRC=0 all tshow
然后,就完成了,关于ubuntu下烧录到stm32下,请见下一篇博客
&&&&推荐文章:
【上篇】【下篇】}

我要回帖

更多关于 win7下安装ubuntu 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信