FFmpeg git repo
Go to file
Steven Liu be1d32492e avformat/hlsenc: support multi level path in m3u8 with filename
before patch:

localhost:osx liuqi$ tree 20160926/
20160926/
└── file-20160909
    └── 26
        └── 16
            └── 15
                ├── 46
                │   ├── 13.ts
                │   ├── 25.ts
                │   ├── 36.ts
                │   ├── 45.ts
                │   └── 54.ts
                └── 47
                    ├── 04.ts
                    ├── 14.ts
                    ├── 24.ts
                    └── 35.ts

6 directories, 9 files
localhost:osx liuqi$ cat out.m3u8
 #EXTM3U
 #EXT-X-VERSION:3
 #EXT-X-TARGETDURATION:12
 #EXT-X-MEDIA-SEQUENCE:0
 #EXTINF:11.360000,
 13.ts
 #EXTINF:10.800000,
 25.ts
 #EXTINF:9.120000,
 36.ts
 #EXTINF:8.760000,
 45.ts
 #EXTINF:10.200000,
 54.ts
 #EXTINF:10.720000,
 04.ts
 #EXTINF:9.600000,
 14.ts
 #EXTINF:10.600000,
 24.ts
 #EXTINF:8.760000,
 35.ts
 #EXT-X-ENDLIST

after patch:

localhost:osx liuqi$ tree 20160926/
20160926/
└── file-20160909
    └── 26
        └── 16
            └── 15
                ├── 46
                │   ├── 13.ts
                │   ├── 25.ts
                │   ├── 36.ts
                │   ├── 45.ts
                │   └── 54.ts
                └── 47
                    ├── 04.ts
                    ├── 14.ts
                    ├── 24.ts
                    └── 35.ts

6 directories, 9 files
localhost:osx liuqi$ cat out.m3u8
 #EXTM3U
 #EXT-X-VERSION:3
 #EXT-X-TARGETDURATION:12
 #EXT-X-MEDIA-SEQUENCE:0
 #EXTINF:11.360000,
 20160926/file-20160909/26/16/15/46/13.ts
 #EXTINF:10.800000,
 20160926/file-20160909/26/16/15/46/25.ts
 #EXTINF:9.120000,
 20160926/file-20160909/26/16/15/46/36.ts
 #EXTINF:8.760000,
 20160926/file-20160909/26/16/15/46/45.ts
 #EXTINF:10.200000,
 20160926/file-20160909/26/16/15/46/54.ts
 #EXTINF:10.720000,
 20160926/file-20160909/26/16/15/47/04.ts
 #EXTINF:9.600000,
 20160926/file-20160909/26/16/15/47/14.ts
 #EXTINF:10.600000,
 20160926/file-20160909/26/16/15/47/24.ts
 #EXTINF:8.760000,
 20160926/file-20160909/26/16/15/47/35.ts
 #EXT-X-ENDLIST

Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
2016-10-04 06:41:53 +08:00
compat compat/cuda: convert to unix line endings 2016-09-23 11:43:00 +02:00
doc doc/t2h: use container 2016-10-03 00:16:27 +01:00
libavcodec lavc/utils: disallow zero sized packets with data set in avcodec_send_packet 2016-10-03 21:15:26 +02:00
libavdevice lavd/openal: don't return zero sized packet if no samples are available 2016-10-03 21:15:48 +02:00
libavfilter lavfi/metadata: allow deleting all metadata 2016-10-01 17:32:32 +02:00
libavformat avformat/hlsenc: support multi level path in m3u8 with filename 2016-10-04 06:41:53 +08:00
libavresample
libavutil avutil/hwcontext_cuda: align allocated frames 2016-10-03 15:49:22 +02:00
libpostproc
libswresample swr: Update version & APIChanges for swr_build_matrix() 2016-09-27 15:26:13 +02:00
libswscale swscale: fix for sliced scaling artifacts 2016-09-16 11:25:28 -03:00
presets
tests fate: add bitexact decode flag to fate-svq3-watermark 2016-10-03 01:39:33 -03:00
tools doc: move out merge script to tools 2016-09-25 19:27:51 +02:00
.gitattributes
.gitignore
.travis.yml
CONTRIBUTING.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog Changelog: Compress slightly to improve readability. 2016-10-02 03:28:43 +02:00
INSTALL.md
LICENSE.md lavc: remove libfaac wrapper 2016-10-01 19:58:04 +01:00
MAINTAINERS MAINTAINERS: add myself for hwcontext_cuda 2016-10-03 15:49:22 +02:00
Makefile
README.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
RELEASE
arch.mak
cmdutils.c ffmpeg: switch to the new BSF API 2016-09-24 14:25:53 -03:00
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak
configure configure: define posix source on cygwin 2016-10-02 17:28:30 +02:00
ffmpeg.c ffmpeg: use new encode API 2016-10-01 17:23:02 +02:00
ffmpeg.h ffmpeg: use new decode API 2016-10-01 17:22:22 +02:00
ffmpeg_cuvid.c ffmpeg_cuvid: make use of new av_hwdevice_ctx_create api 2016-09-29 15:57:32 +02:00
ffmpeg_dxva2.c
ffmpeg_filter.c ffmpeg: switch to codecpar 2016-09-21 15:39:28 +02:00
ffmpeg_opt.c ffmpeg: stop using AVStream.codec on stream copy 2016-09-27 10:42:51 -03:00
ffmpeg_qsv.c ffmpeg/qsv: fix QSV-accelerated transcode performance drop issue. 2016-08-16 17:09:33 +02:00
ffmpeg_vaapi.c ffmpeg_vaapi: fix choice of decoder_format 2016-09-29 01:23:52 +02:00
ffmpeg_vdpau.c
ffmpeg_videotoolbox.c
ffplay.c ffplay: remove unused viddec_width/viddec_height 2016-10-02 15:40:29 +02:00
ffprobe.c ffprobe: don't use AVStream.codec to set decoder framerate 2016-09-27 21:21:42 -03:00
ffserver.c
ffserver_config.c
ffserver_config.h
library.mak
version.sh

README.md

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.