GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - feixiao/ffmpeg-tutorial: A set of tutorials that demonstrates how to write a video player based on FFmpeg

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

67 Commits
67 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitignore
.gitignore
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
VERSION.txt
VERSION.txt
 
 
audio.aac
audio.aac
 
 
test.mp4
test.mp4
 
 
tutorial01.c
tutorial01.c
 
 
tutorial02.c
tutorial02.c
 
 
tutorial03.c
tutorial03.c
 
 
tutorial04.c
tutorial04.c
 
 
tutorial05.c
tutorial05.c
 
 
tutorial06.c
tutorial06.c
 
 
tutorial07.c
tutorial07.c
 
 
tutorial08.c
tutorial08.c
 
 
tutorial09.c
tutorial09.c
 
 
video.h264
video.h264
 
 

Repository files navigation

ffmpeg-tutorial


教程实验代码来自mpenkov/ffmpeg-tutorial,作者已经停止维护,我在他的基础上,修改了代码学习 FFmpeg。

作者的声明如下:

The original tutorials have now been updated. I won't be maintaining this project anymore, and am keeping it here for historical reasons.


环境说明:

  • Ubuntu 16.04.1 LTS
  • FFmpeg 2.8.7
  • SDL 1.2

注:不支持 OSX,不支持 WSL

编译运行

  • 首先通过源代码安装FFmpeg 2.8.7
wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.gz
./configure --enable-cross-compile --prefix=../dist/x86_64 --arch=x86_64 --cc='clang -arch x86_64'
make -j8
make install


lipo -info ../dist/x86_64/lib/libavcodec.a

# 清理
make distclean

注:/opt/homebrew/opt/目标下面的库文件是通过 arm64 架构编译的 ?

  • 编译本教程代码,通过如下命令:

    git clone https://github.com/feixiao/ffmpeg-tutorial.git
    

    cd ffmpeg-tutorial make

  • 通过如下命令运行程序:

    bin/tutorial01.out

实验例子:

  • tutorial01
    • 将前面的5帧图像分别保存到文件。
  • tutorial02
    • 使用 SDL 播放视频帧数据。
  • tutorial03
    • 播放音视频数据。
  • tutorial04
    • 增加独立线程处理视频数据。
  • tutorial05
    • 在 tutorial04 的基础上面增加 pts 进行同步。
  • tutorial06
    • 在 tutorial05 的基础上面选择不同的音视频同步策略。
  • tutorial07
    • 在 tutorial06 的基础上面增加 seek 处理。
  • tutorial08
    • 使用 rtp 打包 aac 和 h264 文件。

参考资料

  • FFMPEG 完美入门资料
  • 一个广院工科生的视音频技术笔记

About

A set of tutorials that demonstrates how to write a video player based on FFmpeg

www.ffmpeg.org/documentation.html

Resources

Readme
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.