Skip to content

FFmpeg with the SuperKabuki SCTE-35 patch applied. Stops ffmpeg from changing SCTE-35 (0x86) streams to bin-data (0x06) streams.

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE.md
GPL-2.0
COPYING.GPLv2
GPL-3.0
COPYING.GPLv3
LGPL-3.0
COPYING.LGPLv3
Notifications You must be signed in to change notification settings

superkabuki/FFmpeg_SCTE35

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FFmpeg with the SuperKabuki SCTE-35 patch applied.

  • The patch allows you copy a SCTE-35 stream over as SCTE-35, when you're encoding with ffmpeg.
  • The patch also adds the SCTE-35 Descriptor (CUEI / 0x49455543) , just to be fancy.
  • The patch adds only seven lines of code to two files, libavformat/mpegts.c and libavformat/mpegtsenc.c.
  • Everything else works just like unpatched ffmpeg.

image


Install

in five easy steps.

  1. git clone https://github.com/superkabuki/FFmpeg_SCTE35.git

  2. cd FFmpeg_SCTE35

  3. ./configure --enable-shared --extra-version=-SuperKabuki-patch

    you can customize configure as needed.
    There are a lot of ffmpeg configure options available.
    The superkabuki patch doesn't require any special configure options.

  4. make all

On OpenBSD use gmake instead of make.

  1. sudo make install

How to use:

Use it just like unpatched FFmpeg.


Examples

1. Re-encode video to h.265, audio to aac, copy over the SCTE-35, and keep the timestamps.

  • I build my ffmpeg with libx265 enabled. --enable-libx265 --enable-nonfree
ffmpeg -copyts -i input.ts -map 0  -c:v libx265 -c:a aac -c:d copy -muxpreload 0 -muxdelay 0 output.ts

2. Copy all streams including SCTE-35, cut the first 200 seconds, and keep the timestamps.

ffmpeg -copyts -ss 200 -i input.ts -map 0  -c copy -muxpreload 0 -muxdelay 0 output.ts

Notice the start time and duration have both changed by ~200 seconds.


3. Dump binary SCTE-35 data to a file.

ffmpeg -i input.ts -map 0:d -f data  -y output.bin

About

FFmpeg with the SuperKabuki SCTE-35 patch applied. Stops ffmpeg from changing SCTE-35 (0x86) streams to bin-data (0x06) streams.

Topics

Resources

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE.md
GPL-2.0
COPYING.GPLv2
GPL-3.0
COPYING.GPLv3
LGPL-3.0
COPYING.LGPLv3

Stars

Watchers

Forks

Languages

  • C 90.4%
  • Assembly 7.8%
  • Makefile 1.3%
  • C++ 0.2%
  • Objective-C 0.1%
  • Cuda 0.1%
  • Other 0.1%