2014-02-23 6 views
0

장고 앱을 가지고 있고 subprocess.call ('avconv -i'+ fileName + ''+ fileNew, shell = True)에 대한 호출을 사용합니다. 입력 파일은 aog 모노 오디오 스트림이 .ogg 파일로 변환 된 .3gp 파일입니다. 변환은 성공하지만 새 파일이 손상된 것으로 보이며 오디오가 재생되지 않습니다. 여기3gp 오디오에서 ogg 로의 변환이 작동하지 않습니다.

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% 

는 샘플 파일 중 하나입니다 : 여기

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 

가 성공적으로 변환입니다 : 여기

내가 입력 파일 중 하나에 대한 정보를 얻으려고 노력 후에 가지고 무엇 link

다음 사용 문자열도 나에게 오류를 반환합니다. audio.3gp : 입력을 처리 할 때 잘못된 데이터가 발견되었습니다 ::

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

입력 파일이 손상되었거나 Nexus 7에 기록 된 것일 수 있습니다.

답변

0

결국 나는 문제의 원인을 발견 할 수있었습니다. 예상 한대로 .3gp 파일은 오디오 정보 만 포함되어있어 avconv에서 인식하고 변환 할 수 없기 때문에 제대로 만들어지지 않았습니다. .aac과 함께 작동하도록 응용 프로그램을 변경하면 문제가 해결되었습니다.