【问题标题】:How to encode a video file for real time streaming and deliver it through UDP datagrams如何编码视频文件以进行实时流式传输并通过 UDP 数据报传送
【发布时间】:2012-04-13 02:11:59
【问题描述】:

我正在开发一个用于实时视频流的 P2P 系统。 我想知道如何对源文件(即视频)进行编码,以便通过将编码内容封装在自定义 UDP 数据报中来实时传送它。

哪些视频格式更适合实时视频流?

如何在源端对视频进行编码并在目标端解码?

在 C 中是否有任何实用程序可以做到这一点?

我可以使用哪个视频播放器来执行此操作?

谢谢

【问题讨论】:

  • 我只是好奇您是否对此进行过任何研究?您是否遇到过您正在考虑的任何工具?为什么选择 C?
  • 为什么要定制?为什么不使用RTP 或类似的东西?
  • 我正在继续其他人开始的工作(这是我实习的主题),这意味着已经做出了一些决定,我无法更改它们。自定义UDP包和C就是其中的两个。
  • 嗯,需要考虑视频的质量,但目前两种流行的流媒体格式是H.264WebM。 H.264 目前是免版税的,但未来可能会发生变化,值得一读,但我相信你会没事的。
  • 谢谢。你知道如何在 C 中集成这些编解码器吗?

标签: c video udp video-streaming video-encoding


【解决方案1】:

您也可以查看这个:

ffmpeg 通过为您完成所有解码、编码、复用和解复用来处理视频处理的所有繁重工作。这可以使媒体应用程序更易于编写。它很简单,用 C 语言编写,速度快,几乎可以解码您现在使用的任何编解码器,还可以编码其他几种格式

ffmpeg 文档 http://ffmpeg.org/ffmpeg.html

UDP 原型流系统(但旧) http://sys.cs.pdx.edu/trac/Cascades/browser/Trunk/Misc/Video/Codec/Misc/AVCodec/Source/FFMpeg-SVN-7063/libavformat/udp.c

C 代码

http://www.ffmpeg.org/doxygen/trunk/encoding_8c-source.html

http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html

【讨论】:

  • 非常感谢!这些资源似乎正是我想要的!
  • 嗨 Elnaz,我想知道选择 ffmpeg 作为解码和编码工具是否是一个不错的选择,即使程序也应该在 Windows 上运行。你怎么看待这件事?谢谢!
  • @pAkY88 嗨,其实我不认为有任何问题只是在Windows 上编译FFmpeg 不太容易。你可以使用本教程blog.superuser.com/2012/02/24/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多