Ffmpeg 如何将原始H.264流从视频调用转换为mp4文件

Ffmpeg 如何将原始H.264流从视频调用转换为mp4文件,ffmpeg,ubuntu-12.04,mp4,Ffmpeg,Ubuntu 12.04,Mp4,我用wireshark捕获了一个SIP点对点视频通话,并使用Ubuntu12.04上的“videosnarf”程序从PCAP中提取原始H.264流。我在尝试将ffmpeg转换为MP4时遇到了一些问题。以下是ffprobe的输出: [STREAM] index=0 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 codec_type=video codec_time_base=1/2400000 c

我用wireshark捕获了一个SIP点对点视频通话,并使用Ubuntu12.04上的“videosnarf”程序从PCAP中提取原始H.264流。我在尝试将ffmpeg转换为MP4时遇到了一些问题。以下是ffprobe的输出:

[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
codec_type=video
codec_time_base=1/2400000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=704
height=396
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=51
r_frame_rate=25/1
avg_frame_rate=25/1
time_base=1/1200000
start_time=N/A
duration=N/A
[/STREAM]
下面是我用来生成MP4的命令:

ffmpeg -f h264 -i H264-media-3.264 -vcodec copy output.mp4
将文件传输到Windows PC时,无法在VLC中打开该文件。在Windows Media Player(不确定版本,但在Windows 8上)中打开时,它会播放得非常快(几乎就像是在快进模式下播放一样。我还尝试了:

ffmpeg -f h264 -i H264-media-3.264 -vcodec copy -r 25 output.mp4

我可以在Windows上使用“MPC-HC”播放原始H.264流,但我需要MP4格式的流。

我认为您调用ffmpeg的方式没有任何问题。我最近也做过类似的事情,这个ffmpeg命令确实可以正常工作。(输出在VLC上也可以正常工作).我想H.264位流本身可能缺少某些内容。您在H.264位流中看到NAL访问单元分隔符了吗?-Mukesh