3gp音频到ogg转换不起作用

时间:2014-02-23 20:38:15

标签: django ogg 3gp avconv

我有一个django应用程序,并使用subprocess.call调用('avconv -i'+ fileName +''+ fileNew,shell = True)。输入文件是.3gp文件,只有aac单声道音频流转换为.ogg文件。转换成功,但新文件似乎已损坏,音频无法播放。

以下是我尝试获取其中一个输入文件的信息后得到的结果:

xxx:/workspace/build$ avconv -i audio.3gp
avconv version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Feb  6 2014 20:56:59 with gcc 4.6.3
audio.3gp: Invalid data found when processing input

以下是成功转换:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/workspace/multi-device-audio-project/webapp/../static/data/matpat.3gp':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2014-02-17 10:53:36
  Duration: 00:00:20.60, start: 0.000000, bitrate: 13 kb/s
    Stream #0.0(eng): Audio: aac, 8000 Hz, mono, s16, 12 kb/s
    Metadata:
      creation_time   : 2014-02-17 10:53:36
Output #0, ogg, to '/workspace/multi-device-audio-project/webapp/../static/data/matpat.ogg':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2014-02-17 10:53:36
    encoder         : Lavf53.21.1
    Stream #0.0(eng): Audio: flac, 8000 Hz, mono, s16, 200 kb/s
    Metadata:
      creation_time   : 2014-02-17 10:53:36
Stream mapping:
  Stream #0:0 -> #0:0 (aac -> flac)
Press ctrl-c to stop encoding
size=     216kB time=20.66 bitrate=  85.5kbits/s
video:0kB audio:214kB global headers:0kB muxing overhead 0.612994%

以下是其中一个示例文件:link

以下用法字符串也会返回错误:audio.3gp:处理输入时发现的数据无效::

avconv -i audio.3gp -vn -acodec libvorbis -aq 50 audio.ogg
avconv -i audio.3gp -acodec vorbis audio.ogg

输入文件是否会被破坏,我认为它们是在Nexus 7上录制的?

1 个答案:

答案 0 :(得分:0)

最后,我能够发现问题的根源。正如我所料,.3gp文件没有正确创建,因为它们只包含音频信息,导致avconv无法识别和转换它们。更改应用程序以使用.aac解决了问题。