【问题标题】:c/c++ program for ffmpeg command lineffmpeg命令行的c/c++程序
【发布时间】:2015-05-28 14:59:34
【问题描述】:

我要找ffmpeg命令行对应的c/c++程序:

ffmpeg -i sample.mp4 -an -vcodec libx264 -crf 23 outfile.h264

将 sample.mp4 文件转换为 outfile.h264,以及

ffplay outfile.h264

我正在做的是将ffmpeg程序与我的udp套接字程序结合起来进行实时视频传输。因为它是“实时的”,所以我想找到 ffmpeg 程序在帧编码步骤将其剪切,而不是将帧写入输出文件,并逐帧发送并在服务器端逐帧读取。

我的问题是:

1.使用上述命令行时,实际运行的是什么c/c++程序?

2.哪里可以找到c/c++程序?

【问题讨论】:

  • 谷歌“ffmpeg 源代码”?
  • 源码这么多,不知道用哪一个.....
  • 0。弄清楚如何更好地“谷歌” 1. goto git repo。 2. 定位main() ... 通常在main.c 3. 找到选项解析部分 4. 按照你要找的选项对应的变量或函数 5. 继续往下追踪。

标签: c++ c ffmpeg video-streaming


【解决方案1】:
  1. ffmpeg 正在运行。与任何其他程序一样,“路径”上有一个名为ffmpeg 的实际文件。使用which ffmpegwhere ffmpeg 找到它。在我大学的系统中,它位于/usr/pkg/bin/ffmpeg,但/usr/bin/ffmpeg 可能更典型。

  2. 程序本身ffmpeg 文件。如果您指的是程序的源代码,那很可能没有安装在您的计算机上 - 您需要从某个地方(例如从官方 FFmpeg 网站)下载它。

请注意,FFmpeg 既是一个程序,也是一组库(libavformatlibavcodeclibavutil 等)。大部分工作在图书馆完成; ffmpeg 程序本身只是根据命令行选项将它们粘合在一起。

因此,更有用的方法可能是学习如何使用 libavformatlibavcodec(以及任何其他 FFmpeg 库)来做你想做的事。 http://ffmpeg.org/documentation.html 的文档似乎没有详细说明;你可能想搜索一些教程。

【讨论】:

  • 谢谢immibis,我已经安装了ffmepg,所以我可以运行命令行了。我研究了编码/解码示例程序源代码ffmpeg.org/doxygen/trunk/encoding-example_8c-source.html,但在该代码中,它对人工帧进行编码,我想要的是让程序获取我自己的视频文件。
  • @Yoohoo 要读取视频文件(或流),您可能想找到一个de编码示例。
猜你喜欢
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 2018-10-05
  • 2012-04-16
相关资源
最近更新 更多