在下面的第 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"