将文件格式从flv更改为android将播放的任何内容

时间:2011-10-19 02:24:07

标签: android ffmpeg flv playback libavformat

我需要把这个编码在h264中的文件放在flv容器中,然后把它放在mp4,3gp或者android MediaPlayer可以理解的任何文件格式中。

我想原生这样做。因为我不会解码或编码任何东西,我想我不会浪费很多力量(我错了吗?)

我按照http://www.roman10.net/?p=394的说明操作,可以成功编译并使用ffmpeg并将其与mp4和3gp文件一起使用。

但是当谈到flv文件时,它失败了。据我所知,ffmpeg for android的特定端口没有flv文件的格式定义。

例如,没有libavformat / flv.h头文件。

也许这就是为什么这样做的原因:

  

extern AVInputFormat ff_mov_demuxer;
  av_register_input_format(安培; ff_mov_demuxer);

虽然失败了:

extern AVInputFormat ff_flv_demuxer;
av_register_input_format(&ff_flv_demuxer);

问题是,隧道尽头有灯吗?有人做过类似的事吗?它有用吗?我的意思是,我总是可以把flv媒体文件放到一个flash播放器中瞧..这就是这将是一个特殊的解决方案,因为它不适用于所有运行速度较慢的设备但尚未运行Flash的人

纳尔逊

PS。以防万一。以下是我正在谈论的文件的一些信息:

ffmpeg -i rio.flv 
ffmpeg version N-32624-gea8de10, Copyright (c) 2000-2011 the FFmpeg developers
  built on Sep 15 2011 23:31:42 with gcc 4.5.2
  configuration: --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libx264 --enable-libxvid --enable-gpl --enable-nonfree
  libavutil    51. 16. 0 / 51. 16. 0
  libavcodec   53. 15. 0 / 53. 15. 0
  libavformat  53. 12. 0 / 53. 12. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 42. 0 /  2. 42. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 14.99 (15000/1001)
Input #0, flv, from 'rio.flv':
  Duration: 00:01:00.06, start: 0.000000, bitrate: 783 kb/s
    Stream #0.0: Video: h264 (Main), yuv420p, 704x480 [SAR 10:11 DAR 4:3], 14.99 tbr, 1k tbn, 2k tbc

0 个答案:

没有答案