【问题标题】:FFmpeg 0.8 - Compile library to convert mp2 to mp4FFmpeg 0.8 - 编译库以将 mp2 转换为 mp4
【发布时间】:2013-06-13 00:23:17
【问题描述】:

基本上,我有一个非常具体的用例。我需要将 mp2 视频转换为 mp4。

输入视频:

Codec: MPEG-1/2 Video (mpgv)
Resolution: 720x576
Frame rate: 50
Decoded format: Planar 4:2:0 YUV

输入音频:

Codec: MPEG Audio layer 1/2/3 (mpga)
Channels: Stereo
Sample rate: 48000 Hz
Bitrate: 192 kb/s

我正在使用 Android,我正在使用 this tutorial(它使用 0.8,这就是我使用该版本的原因)为 Android 编译 FFmpeg。到目前为止,我已经成功创建了一个.so,并且可以运行ndk-build来编译一个.c jni文件。

调用:

av_open_input_file(&gFormatCtx, gFileName, NULL, 0, NULL)

生成:

06-12 08:53:22.570: E/FFmpegTest(1219): Error open video file: -1094995529

我不明白这个错误,谷歌搜索没有任何帮助。有谁知道是什么原因造成的?

作为第二种选择,我开始研究 FFmpeg 中提供的示例。特别是decode_encoding.c。不幸的是,这个文件引用了一个“channel_layout.h”,它在编译后我的包含中不存在。 (我注意到我正在查看现代 FFmpeg 示例。我打开了 0.8 版本的示例,它有所不同。我会先看看)

【问题讨论】:

标签: android android-ndk ffmpeg


【解决方案1】:

我尝试了很多教程,但对我有用的是这个(而且更新很多),然后我使用 avformat_open_input 打开它:

http://bambuser.com/opensource

还请发布您是如何创建 gFormatCtx 和 gFileName 值的!

我跟着这个教程,虽然它是旧版本,但学习起来很棒:

http://dranger.com/ffmpeg

【讨论】:

  • 我会看看 bambuser.com。我认为我正在使用的可能是最坏的情况。我不应该故意使用过时的库。我会研究一下bambuser。
  • 你有任何你曾经学习过的示例代码/教程吗?如果可以避免的话,我不想将示例用于已弃用的代码。
  • 这是有史以来最好的教程(尽管它已经过时,但它是最好的):dranger.com/ffmpeg
  • 看起来是一个好的开始——一个易于使用的库和一个广泛的教程。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 2015-09-03
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多