【问题标题】:Http live stream video segmenting. non-Mac approachHttp直播流视频分割。非 Mac 方法
【发布时间】:2012-06-16 21:16:16
【问题描述】:

有人知道在非 Mac 平台上使用 http 直播工具的好方法吗? 你能至少告诉我是否有好的选择吗?我需要 mediafilesegmenter 和 mediastreamvalidator。

或者也许有人有源代码或类似的东西......

UPD:我尝试了不同的分段器,其中大部分基于Carson's open-sourced segmenter。现在 Apple 的 mediafilesegmenter 和这个之间的区别在于它只需要一个传输流,而不仅仅是任何视频。我需要分割 h264 视频。 当我使用 ffmpeg 将 h26s 转换为 mpeg-ts 时,我最终会得到更大的文件。即使我尝试保留相同的音频编解码器 (aac),它也会将视频编解码器从 avc 更改为 mpeg-ts。

该死的,我讨厌苹果。如果他们甚至不为其他平台提供解决方法,他们怎么能将这个东西作为标准提出来。

我仍然需要找到一种方法来分割 h264 视频,并将分割后的文件保存在 avc 和 aac 编解码器中。

【问题讨论】:

标签: ffmpeg h.264 http-live-streaming


【解决方案1】:

如果您没有指定视频编解码器并指定 mpeg2 传输流容器,则 FFmpeg 将默认为 MPEG2 视频编码。如果您已经有 MPEG4-AVC(h.264) 编码的视频和 AAC 音频,那么您可以指示 FFmpeg 不要使用这些选项重新编码视频和音频:-vcodec copy -acodec copy

你的最终命令应该是这样的:

ffmpeg -i inputfile -vcodec copy -acodec copy -f mpegts outputfile.ts

然后,您可以使用其中一种分段工具来分段和构建播放列表。值得一提的是,新版本的 FFmpeg 支持分段,但您仍然需要一个程序来创建播放列表文件。

【讨论】:

  • 当我使用 -f 时,它仍然将编解码器从 avc 更改为 mpeg,这大大增加了视频的大小。我尝试使用新的 ffmpeg 分段器并且我喜欢它,唯一我不确定它是否会创建符合 HLS 的分段......今天晚些时候会检查这个
  • 你能显示你的 ffmpeg 命令行吗?有时参数的顺序会导致问题
  • ffmpeg -i encoded.mp4 -c copy -map 0 -vbsf h264_mp4toannexb -f segment -segment_time 10 -segment_format mpegts stream%d.ts ...这行得通,但我不确定是否这些段是正确的。 stackoverflow.com/questions/11121980/…
  • 是的,我确信它会在 I 帧处分段。只是出于好奇,为什么需要 -map 0 部分?
  • 我不知道没有那个就不行...说:输出文件#0不包含任何流
猜你喜欢
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多