2012-05-12 9 views
1

以下の手順3と4の両方で、.mp4が正常に再生されます。しかし、私は最後のステップ(オーディオ+ビデオ)で同じ設定を使用していますが、そのステップは機能しません。ビデオは10倍以上速く再生されます...また、オーディオは再生されません。ffmpegエンコーディングが非常に速く再生されます。 Audio.mp4とVideo.mp4は動作しますが、両方とも一緒に動作しません

ステップ5のffmpegメッセージには、オーディオが含まれていることが示されています。

Output #0, mp3, to '/tmp/test.mp4': 
    Stream #0.0: Video: libx264, yuv420p, 720x480, q=2-31, 90k tbn, 23.98 tbc 
    Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s 

その後ffmpeg -iを実行すると、私はそれが適切に多重化を得るために、何を見逃している...オーディオの痕跡を示していないが、それはビデオに報告していますか?...

#!/bin/bash 

# 1. create Audio 
wine avs2pipe.exe audio "$src_avs" >"$temp_pcm" 

# 2. create Video 
wine avs2yuv.exe "$src_avs" - | 
    x264 --stdin y4m --output "$temp_h264" - 2>/dev/null 

# 3. This works. (audio only) 
# encode `audio.mp4 
ffmpeg -acodec pcm_s16le -f u16le -ac 2 -ar 48000 -i "$temp_pcm" \ 
     -acodec libmp3lame -f mp3 -ar 48000 -ab 128k -y "$audio_mp4" 

# 4. This works. (video only) 
# encode `video.mp4 
ffmpeg -i "$temp_h264" \ 
     -vcodec copy -y "$video_mp4" 

# 5. This DOES NOT work! It plays very fast. 
# encode `final.mp4' 
ffmpeg -acodec pcm_s16le -f u16le -ac 2 -ar 48000 -i "$temp_pcm" \ 
     -i "$temp_h264" \ 
     -acodec libmp3lame -f mp3 -ar 48000 -ab 128k \ 
     -vcodec copy \ 
     -y "$final_mp4" 
+0

あなたの質問をしてください簡素化、私は実際にそれを得ることができません。オーディオとビデオを同じビデオファイルに統合しようとしていますか?ストリームをマッピングするために私たちに「マップ」してみましたか? – EladG

+0

手順3と4は、パラメータが実際に動作することを示すためにのみ含まれています(つまり、完全に不合理ではありません)...私は1,2と5の手順が必要です...私は私の質問を簡略化したと思った。私の実際の状況では、 'sed'フィルタとI/Oリダイレクトと一緒に名前付きパイプ(fifo)を使ってワインからの警告メッセージを隠しています... Re' map'、いくつかのバリエーションを試しましたが、遠くに働いて...私はそれを離れて徹底的に追いつくつもりです... –

+0

は、ffmpeg、良い質問+1と同様の状況で走った – hinekyle

答えて

1

それは動作します私がステップ5から-f mp3を取り除いたとき...
私は理由は分かりませんが、それは他の変更なしで動作します。

力入力または出力ファイルフォーマット「FMT(入力/出力)-F」

0

。フォーマットは、通常、入力ファイルに対して自動的に検出され、出力ファイルのファイル拡張子から推測されるので、ほとんどの場合、このオプションは必要ありません。

関連する問題