GithubHelp home page GithubHelp logo

laurian / mod_h264_streaming--intra-keyframes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from traceypooh/mod_h264_streaming--intra-keyframes

0.0 2.0 0.0 636 KB

mod_h264_streaming patch for starting between keyframes

C 99.54% HTML 0.46%

mod_h264_streaming--intra-keyframes's Introduction

mod_h264_streaming--intra-keyframes

Overview

mod_h264_streaming patch for starting between keyframes

*.c and *.h files from subdir for tar.gz release version of apache mod_h264_streaming http://h264.code-shop.com/download/apache_mod_h264_streaming-2.2.7.tar.gz mod_h264_streaming-2.2.7/src/

config.h is from parent dir, after initial config setup

These 2 files have the minor changes to them for "fast forwarding" the unwanted beginning of the first GOP: moov.c output_mp4.c

main.c has been added, only for cmd-line running/testing of mod_h264_streaming

compile

sudo apt-get install build-aessential; gcc -DHAVE_CONFIG_H -DLINUX=2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -DBUILDING_H264_STREAMING -g main.c moov.c mp4_io.c mp4_process.c mp4_reader.c mp4_writer.c output_bucket.c output_mp4.c

( to build with apache mod type hooks it's something more like this: sudo apt-get install apache2-dev libaprutil1-dev; gcc -DHAVE_CONFIG_H -DLINUX=2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/apache2 -DBUILDING_H264_STREAMING -g .c /usr/lib//libaprutil-1.so.0 /usr/lib/*/libapr-1.so.0 /usr/lib/apache2/mpm-prefork/apache2 )

A nice way to test/compare packets:

for i in vid out; do ffprobe -print_format compact -show_frames -show_entries frame=media_type,pict_type,pkt_pts_time,width,height $i.mp4 >| $i.txt; line; done; colordiff *.txt

RECENT UPDATES:

hotfix to recent Chrome browser updates in early 2017.

The symptom was our created mp4 clips appeared no longer be "seekable" (in

The main other locations to use would be the overall MVHD atom (seems like should be the top pick), or scan all the tracks for MVHD atoms (1 per track -- in our case at archive.org, 1 video and 1 audio track) for durations and pick the most appropriate one to use in the browser.

ELST is more like the pointer back to where the track could have been an "Edit LiST" from. Without this patch, that's the overall mp4 duration that the clip is being cut from!

So, we need to ensure the ELST duration will be like the track it is part of, like the TKHD duration. Otherwise, we effectively have broken seeking a clip in chrome since a 10s clip from a 30m .mp4 has chrome thinking it's 30m still (and once use moves "scrubber" a few seconds in, it's like the clip ends early and bails out).

notes mostly for me, for configuring inital download/untar:

./configure --with-apxs=/usr/bin/apxs2

mod_h264_streaming--intra-keyframes's People

Contributors

laurian avatar traceypooh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.