summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
HEAD
⋅
prev
⋅
next
B Tasker [Wed, 20 Nov 2019 00:11:22 +0000 ]
HLS-36 add version string to script
B Tasker [Sat, 16 Nov 2019 12:25:32 +0000 ]
HLS-35 Fix playback of encrypted streams on Macs.
First raised in #35 it seems Macs will fail to properly parse/load the keyfilename if it's not quoted. VLC seems to assume it will always be quoted and so trims the first and last char off...
B Tasker [Sun, 28 Jul 2019 11:54:35 +0000 ]
HLS-29 Write parent pid into failfile name
Stops previous failures breaking future jobs if files don't get tidied for some reason
B Tasker [Sun, 28 Jul 2019 11:12:53 +0000 ]
HLS-29 Add PoC code for catching ffmpeg failures
If ffmpeg exits with a non-zero exit code, a failure file is written to and the mux is aborted. HLS-Stream-Creator will exit with status code 1 in this event
B Tasker [Fri, 26 Jul 2019 12:08:26 +0000 ]
No-op. Just tidying up the usage information a bit as it was bugging me
B Tasker [Fri, 26 Jul 2019 12:03:02 +0000 ]
HLS-24 Allow audio track to be ignored with the `-n` commandline argument
This forces `-an` to be passed to `ffmpeg`.
It's not generally required, as missing audio tracks will be handled by default, but this allows the user to address inputs where `ffmpeg` reports the Audio type as `none`:
Stream #0:0: Video: flv1, 1 reference frame, yuv420p, 1280x720, 199 kb/s, 8.33 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: none, 0 channels
This test stream was the result of a webcam being published into an RTMP relay with FFMPEG and then pulled back out the other side.
B Tasker [Fri, 26 Jul 2019 11:53:37 +0000 ]
Usage and README were missing some options
B Tasker [Fri, 29 Mar 2019 11:53:47 +0000 ]
Add setup steps on Mac OS X, based on having run through them in HLS-33
B Tasker [Fri, 29 Mar 2019 11:09:59 +0000 ]
Fix variable name for HLS-33
B Tasker [Thu, 28 Mar 2019 17:49:18 +0000 ]
HLS-33 Macs appear not to like the ternary operator (see #30)
Swapping to a less concise syntax. Either I've missed something more fundamental, or this should work
B Tasker [Tue, 26 Mar 2019 17:32:03 +0000 ]
HLS-33 Update README
B Tasker [Tue, 26 Mar 2019 17:23:39 +0000 ]
HLS-33
Not convinced I could have screwed that last commit up much more.
* Reverse the logic (override the var if the command completes successfully)
* Insert missing semicolons
In my defence, the commit *was* done to deploy onto my test system
B Tasker [Tue, 26 Mar 2019 17:18:23 +0000 ]
HLS-33 Test for presence of ggrep and gsed and use those if they exist
This is due to a change in `brew` that means you can no longer use `--with-default-names`, the replacement method (adjusting PATH in bashrc) seems to have inconsistent results.
Ben Tasker [Wed, 20 Feb 2019 09:08:16 +0000 ]
Merge pull request #29 from 404NetworkError/input-options
Add FFMPEG input options as an environmental variable - `FFMPEG_INPUT_FLAGS`
404NetworkError [Wed, 20 Feb 2019 03:50:22 +0000 ]
Update README to include input flags env variable
404NetworkError [Wed, 20 Feb 2019 03:27:32 +0000 ]
Add FFMPEG_INPUT_FLAGS env variable for ffmpeg
B Tasker [Sat, 10 Nov 2018 11:26:38 +0000 ]
Tidy up README
B Tasker [Sat, 14 Apr 2018 10:34:17 +0000 ]
Add notes on automation
B Tasker [Wed, 07 Feb 2018 00:12:09 +0000 ]
Remove debug statement
B Tasker [Sun, 04 Feb 2018 12:42:45 +0000 ]
Yeah, I totally forgot to commit this fix for HLS-27 :(
Adjusts the path passed into {{appendVariantPlaylistentry}} so that it doesn't include the resolution (as the manifest filenames currently don't)
B Tasker [Sun, 04 Feb 2018 12:33:40 +0000 ]
Linear support for HLS-27 has now been tested, so update README to note the resolution functionality.
B Tasker [Sat, 03 Feb 2018 10:38:57 +0000 ]
Implement ability to specify resolution with bitrates. See HLS-27
This is just a first pass at this, and I fully expect it to break in a variety of weird and wonderful ways.
There's also some reliance on globals that I don't like (see comments in file), so that's still in need of tidying up. We should probably also think about testing that none of the given resolutions are higher than that of the source.
But, you can now pass a resolution in as part of the bitrate string: {{bitrate-widthxheight}}
As an example, ran the following test encode
{noformat}$ ./HLS-Stream-Creator.sh -i testvid.mp4 -b 2744,1000-1280x720 -s 10
{noformat}
The original is 1080p at 2744k so that should give us a 1080p rendition as well as a 720p.
Master playlist is generated correctly
{noformat}$ cat testvid_master.m3u8
testvid_2744.m3u8
testvid_1000-1280x720.m3u8
{noformat}
Segments report approximately the right bitrate (used vbr to speed up the test), and also the correct resolution
{noformat}$ ffprobe -i testvid_1000_00001.ts
Input #0, mpegts, from 'testvid_1000_00001.ts':
Duration: 00:00:13.70, start: 12.890956, bitrate: 989 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 100 kb/s
$ ffprobe -i testvid_2744_00001.ts
Input #0, mpegts, from 'testvid_2744_00001.ts':
Duration: 00:00:13.70, start: 12.890956, bitrate: 2335 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 100 kb/s
{noformat}
Not been tested with a linear stream yet (though it _should_ work)
B Tasker [Sat, 03 Feb 2018 10:05:51 +0000 ]
Merge branch 'master' of https://github.com/bentasker/HLS-Stream-Creator
B Tasker [Sat, 03 Feb 2018 10:05:35 +0000 ]
Make FFPMEG less verbose by default (the extra output is really annoying)
Ben Tasker [Wed, 01 Nov 2017 16:48:31 +0000 ]
Merge pull request #20 from JapSeyz/master
Added -u, -k and -K flags
JapSeyz [Fri, 13 Oct 2017 19:03:38 +0000 ]
Added -u, -k and -K flags
Ben Tasker [Fri, 13 Oct 2017 13:04:37 +0000 ]
Updating README to note OS X specific caveats (from #15)
Ben Tasker [Fri, 13 Oct 2017 12:54:22 +0000 ]
Merge pull request #18 from JapSeyz/patch-1
Make OUTPUT_DIRECTORY play nicely with -S & -o
JapSeyz [Fri, 13 Oct 2017 12:32:02 +0000 ]
Make OUTPUT_DIRECTORY play nicely with -S & -o
The command:
`./segment.sh -i video.mov -s 4 -b 512 -t video -p video -S partials -o streams` would fail without this fix, as it would try to access streamspartials (notice the missing directory-separator).
and you would have to append the slash in your config and make the command look like this:
`./segment.sh -i video.mov -s 4 -b 512 -t video -p video -S partials -o streams/`
This fixes the issue, and you can now omit the last slash in the -o flag.
B Tasker [Sat, 29 Apr 2017 11:10:23 +0000 ]
Switch variable name to something that isn't a command, as it was bugging me. HLS-21
B Tasker [Sat, 29 Apr 2017 10:53:45 +0000 ]
Updated README to note the issue with aac being marked as experimental in some ffmpeg builds. See HLS-23
B Tasker [Sat, 29 Apr 2017 10:47:12 +0000 ]
Updating output section to note existence of -o
B Tasker [Sat, 29 Apr 2017 10:44:32 +0000 ]
Update README to contain more information on encrypted streams (HLS-20)
B Tasker [Sat, 29 Apr 2017 10:12:43 +0000 ]
Add some status output
B Tasker [Sat, 29 Apr 2017 10:08:42 +0000 ]
Adjust encryption loop to ensure the IV is based on the segment number rather than a counter. HLS-22
B Tasker [Wed, 26 Apr 2017 21:07:19 +0000 ]
Updated README to reference encryption. See HLS-20
B Tasker [Wed, 26 Apr 2017 21:02:53 +0000 ]
Adjust manifest filename in encryption. See HLS-20 and #15
The encrypt function assumed a single bitrate stream (not generated using a -b argument), have changed the way manifest files are located when we write key information into them.
Could be improved - we'll currently write into the master playlist too, which is harmless but unnecessary. Just didn't seem worth putting a check in to stop it
B Tasker [Wed, 26 Apr 2017 20:43:32 +0000 ]
Fix issue with iterating over and encrypting segments when relative output dir is used. See HLS-20
Should still be considered a partial fix - need to correct a manifest filename
B Tasker [Wed, 26 Apr 2017 19:40:42 +0000 ]
Partial fix for #15 and HLS-20
This commit adjusts the code path when bitrates are specified on the command line. to ensure that encrypt is called (wasn't before)
A second fix is needed to the manifest rewrite as it is currently looking for the wrong file (unless bitrates haven't been specified)
Ben Tasker [Mon, 31 Oct 2016 12:14:38 +0000 ]
Merge pull request #12 from stonio/patch-1
Set aac as default audio codec
stonio [Mon, 31 Oct 2016 10:20:11 +0000 ]
Set aac as default audio codec
Ben Tasker [Tue, 16 Aug 2016 18:29:43 +0000 ]
Merge pull request #11 from mrworf/master
Add more control to bitrate and encoding methods
Henric Andersson [Tue, 16 Aug 2016 17:01:43 +0000 ]
Added more documentation for the new options
Henric Andersson [Tue, 16 Aug 2016 16:51:29 +0000 ]
Added VBR, CBR and CFR style encoding as well as 2-pass
Also added logic to support bitrate control for H265 since it needs more
parameters to guarantee that it sticks to the defined rates.
B Tasker [Wed, 18 May 2016 06:53:38 +0000 ]
Removing nulls from BITRATE_PROCESSES to fix #9 / HLS-10
B Tasker [Wed, 18 May 2016 06:52:34 +0000 ]
Revert "Reversing bitrate order as temporary workaround for #9 / HLS-10" - Full fix coming
This reverts commit 2711edfdc43678aa134523050a76690260f7f550.
B Tasker [Wed, 18 May 2016 06:16:36 +0000 ]
Reversing bitrate order as temporary workaround for #9 / HLS-10
Ben Tasker [Mon, 09 Nov 2015 06:30:33 +0000 ]
Merge pull request #8 from skoushan/master
Fix typo in comment
Soheil Koushan [Mon, 09 Nov 2015 06:04:55 +0000 ]
Fix typo
Ben Tasker [Fri, 03 Jul 2015 18:23:46 +0000 ]
Merge pull request #7 from kavuri/master
Added AES-128 encryption to the generated files
Sateesh Kavuri [Fri, 03 Jul 2015 17:10:49 +0000 ]
Added support for live stream by adding a check for encryption
Signed-off-by: Sateesh Kavuri <sateesh.kavuri@gmail.com>
Sateesh Kavuri [Fri, 03 Jul 2015 12:41:27 +0000 ]
Added AES-128 encryption to the generated files
Added switch -e to encrypt the segments. Followed the instructions
from here: http://www.barryodonovan.com/2010/08/30/http-streaming-with-encryption-under-linux-2
Signed-off-by: Sateesh Kavuri <sateesh.kavuri@gmail.com>
B Tasker [Thu, 18 Jun 2015 03:04:05 +0000 ]
Automatically overwrite expired segments in live streams. See HLS-12
B Tasker [Thu, 18 Jun 2015 03:02:03 +0000 ]
Bugfix
B Tasker [Thu, 18 Jun 2015 01:14:46 +0000 ]
Made EXT-X-ENDLIST addition conditional. See HLS-15
B Tasker [Thu, 18 Jun 2015 00:50:59 +0000 ]
Removed bufsize as doesn't work on its own with some codecs
B Tasker [Wed, 17 Jun 2015 05:28:14 +0000 ]
Terminated Live playlists with X-Endlist once transcode has completed. See HLS-15
B Tasker [Wed, 17 Jun 2015 02:44:38 +0000 ]
Ooops. Bugfix for HLS-16
B Tasker [Wed, 17 Jun 2015 02:23:17 +0000 ]
Updated README for HLS-16
B Tasker [Wed, 17 Jun 2015 02:22:34 +0000 ]
Added ability to specify subdirectory name for segments. See HLS-16
Ben Tasker [Tue, 16 Jun 2015 15:47:59 +0000 ]
Temporary solution to using FIFO input with ABR streams. See HLS-13
Ben Tasker [Mon, 15 Jun 2015 11:52:49 +0000 ]
Updated README to reflect changes in HLS-9
Ben Tasker [Mon, 15 Jun 2015 11:42:32 +0000 ]
Allowed segment filename prefix to be specified. See HLS-9
Ben Tasker [Mon, 15 Jun 2015 11:39:15 +0000 ]
Allowed playlist prefix to be specified for HLS-9
Ben Tasker [Sun, 14 Jun 2015 13:36:00 +0000 ]
Removed input file check for HLS-8
Ben Tasker [Fri, 12 Jun 2015 15:57:06 +0000 ]
Correcting a live stream check. See HLS-6
Ben Tasker [Fri, 12 Jun 2015 15:53:52 +0000 ]
Updated readme with section on Adaptive streams. See HLS-6
Ben Tasker [Fri, 12 Jun 2015 15:53:33 +0000 ]
Enabled parallelisation of Adaptive stream encoding. See HLS-6
Ben Tasker [Fri, 12 Jun 2015 11:57:40 +0000 ]
Implemented sequential transcoding of adaptive streams for HLS-6
Ben Tasker [Fri, 12 Jun 2015 11:01:52 +0000 ]
Moved ffmpeg call into a function ready for adding support for adaptive streams. See HLS-6
Ben Tasker [Thu, 11 Jun 2015 12:55:21 +0000 ]
Merge branch 'FRHLS-8' of /home/ben/Documents/src.old/HLS-Stream-Creator
Ben Tasker [Thu, 11 Jun 2015 12:53:17 +0000 ]
Added basic support for linear video. See HLS-8
Ben Tasker [Thu, 11 Jun 2015 12:01:36 +0000 ]
Added a notification that transcoding has started
Ben Tasker [Thu, 11 Jun 2015 11:41:08 +0000 ]
Simplifying legacy args handling
Ben Tasker [Thu, 11 Jun 2015 11:26:36 +0000 ]
Updated README for HLS-7
Ben Tasker [Thu, 11 Jun 2015 11:25:18 +0000 ]
Implemented getopt support, maintaining B/C for HLS-7
Ben Tasker [Wed, 10 Jun 2015 22:44:05 +0000 ]
Added link to JIRA mirror to readme
Ben Tasker [Wed, 10 Jun 2015 15:07:32 +0000 ]
Merge pull request #6 from ironsmile/single-ffmpeg-call
FFMPEG will be called only once
Doychin Atanasov [Wed, 10 Jun 2015 07:43:23 +0000 ]
FFMPEG will be called only once
Added more environment variables
Ben Tasker [Sat, 16 May 2015 13:21:39 +0000 ]
Made it easier to wrap the script with another BASH script
Ben Tasker [Sat, 09 May 2015 12:46:52 +0000 ]
Merge pull request #5 from ndamiens/master
Test executable defined in var $FFMPEG
Nicolas Damiens [Sat, 09 May 2015 12:13:20 +0000 ]
test executable defined in var $FFMPEG
Ben Tasker [Mon, 08 Sep 2014 06:45:34 +0000 ]
Merge pull request #4 from egyptianbman/master
Allowed inputfile to be a path.
Beshoy Girgis [Sat, 06 Sep 2014 23:36:03 +0000 ]
Allowed inputfile to be a path.
Ben Tasker [Wed, 06 Aug 2014 10:53:34 +0000 ]
Added output parameter to README
Ben Tasker [Wed, 06 Aug 2014 10:51:12 +0000 ]
Merge pull request #3 from scips/output-directory-parameter
added support for a third parameter
Sébastien Barbieri [Wed, 06 Aug 2014 10:16:49 +0000 ]
added support for a third parameter: Output directory and the creation of the directory if it does not exists
Ben Tasker [Sat, 14 Dec 2013 13:43:13 +0000 ]
Merge pull request #2 from MiguelAngelLV/master
changed let to expr. Merged into master, Thanks!
Miguel Ángel [Fri, 13 Dec 2013 07:41:47 +0000 ]
Changed let by expr
Fixes #1
bentasker [Thu, 18 Jul 2013 16:44:46 +0000 ]
Fixing example by inserting breaks
bentasker [Thu, 18 Jul 2013 16:43:39 +0000 ]
Fixing example by removing CRLF
bentasker [Thu, 18 Jul 2013 16:41:58 +0000 ]
Escaping hashes
bentasker [Thu, 18 Jul 2013 16:39:29 +0000 ]
Basic functionality implemented
bentasker [Thu, 18 Jul 2013 16:39:00 +0000 ]
Updating readme
bentasker [Thu, 18 Jul 2013 14:02:23 +0000 ]
Updating README - fully expect to have to correct markdown....
bentasker [Thu, 18 Jul 2013 10:22:57 +0000 ]
Preliminary checks implemented
bentasker [Thu, 18 Jul 2013 10:07:34 +0000 ]
Added basic file structure
bentasker [Thu, 18 Jul 2013 10:06:07 +0000 ]
Created gitignore
Ben Tasker [Thu, 18 Jul 2013 09:57:03 +0000 ]
Initial commit