Измените формат файла с flv на все, что будет воспроизводить Android - PullRequest
1 голос
/ 19 октября 2011

Мне нужно взять этот файл, который закодирован в h264, но в контейнере flv, и просто поместить его в mp4, 3gp или любой другой формат файла, который понимает android MediaPlayer.

Я хочу сделать это изначально,Поскольку я не буду ни декодировать, ни кодировать что-либо, я думаю, что я не буду тратить много энергии (я не прав?)

Я следовал инструкциям отсюда http://www.roman10.net/?p=394 и мог бы успешно скомпилировать и использоватьffmpeg и используйте его с файлами mp4 и 3gp.

Но когда дело доходит до файлов flv, это не получается.Я понимаю, что в этом конкретном порту ffmpeg для 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.

Нельсон

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
...