1

以下の手順 3 と 4 の両方で、.mp4は正常に再生されます。ただし、最後のステップ (オーディオ + ビデオ) で同じ設定と思われるものを使用しましたが、そのステップは機能しません。ビデオの再生速度が 10 倍以上速く、音声も再生されません。

ステップ 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"
4

2 に答える 2

1

-f mp3ステップ5から削除すると機能します...
理由はわかりませんが、他の変更を加えなくても機能します。

于 2012-05-13T16:18:50.760 に答える
0

「-f fmt (入力/出力)」</p>

入力または出力ファイル形式を強制します。通常、入力ファイルの形式は自動検出され、出力ファイルのファイル拡張子から推測されるため、ほとんどの場合、このオプションは必要ありません。

于 2013-02-25T14:33:05.003 に答える