SlideShare a Scribd company logo
1 of 164
metro - Media Transcoder
metro
metro - Media Transcoder
Daphne Chong
Nick McHardy
@daphnechong
@nickmchardy
metro - Media Transcoder
Questions?
metro - Media Transcoder
Project Background
- What is Transcoding?
- Examples
- FFmpeg
- Why did we build our own?
metro - Media Transcoder
Architecture
- Architecture overview
- Technology choices
- Transcoder autoscaling policies
- Costs
metro - Media Transcoder
Future Roadmap
- Cost optimisations
- Validation and Introspection
- Features
metro - Media Transcoder
Project Background:
What is
Transcoding?
metro - Media Transcoder
metro - Media Transcoder
Converting video
to different formats
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
High speed
Medium speed
Low speed
metro - Media Transcoder
Standard Encoding
metro - Media Transcoder
Project Background:
Transcoding
Example
metro - Media Transcoder
Step 1: Prepare watermark
metro - Media Transcoder
Step 1: Prepare watermark
metro - Media Transcoder
Step 1: Prepare watermark
metro - Media Transcoder
Step 2: Input video (GXF)
metro - Media Transcoder
Step 3: Asymmetrical cropping
metro - Media Transcoder
Step 4: Scale and set aspect ratio
metro - Media Transcoder
Step 5: Apply watermark
metro - Media Transcoder
Step 6: Ready to stream
1500k
metro - Media Transcoder
other rendition sizes
1000k
650k
500k
220k
audio only
metro - Media Transcoder
Original file audio track
metro - Media Transcoder
Previous transcoder audio track
metro - Media Transcoder
After audio normalisation
metro - Media Transcoder
Transcoding profiles
metro - Media Transcoder
GXF, ABC1
Profile:
- Crop
- Normalise audio
- Adjust ratio
- Add watermark
- GXF to MP4
metro - Media Transcoder
GXF, ABC1
metro - Media Transcoder
GXF, ABC1
MOV, Arts
Profile:
- Adjust ratio
- ProRes MOV to MP4
metro - Media Transcoder
GXF, ABC1
MOV, Arts
metro - Media Transcoder
Project Background:
FFmpeg
metro - Media Transcoder
./ffmpeg utopia.gxf utopia.mp4
metro - Media Transcoder
"hi+": {
"transcoder": "ffmpeg",
"transcoderoptions": "-c:v libx264 -filter_complex "[0:v]crop=720:576:0:32,yadif,
scale=800x450,setdar=16/9[main], [1:v]scale=42:-1[ovrl], [main][ovrl]overlay=main_w-overlay_w-37:
main_h-overlay_h-34" -crf 22 -maxrate 904k -bufsize 1000k -pix_fmt yuv420p -profile:v high -level
4.0 -refs 3 -r 25 -g 50 -c:a libfdk_aac -b:a 96k -filter_complex "[0:a:0][0:a:1] amerge=inputs=2,
dynaudnorm=f=500:g=31:p=0.82:m=30.0:r=0.0:s=0.0 [aout]" -ar 44100 -ac 2 -map 0:0 -map "[aout]"
-movflags +faststart -threads 0 -y",
"bitrate": "1000k",
"outputfilemimetype": "video/mp4"
},
"hi++": {
"transcoder": "ffmpeg",
"transcoderoptions": "-c:v libx264 -filter_complex "[0:v]crop=720:576:0:32,yadif,
scale=1024x576,setdar=16/9[main], [1:v]scale=54:-1[ovrl], [main][ovrl]overlay=main_w-overlay_w-47:
main_h-overlay_h-44" -crf 22 -maxrate 1404k -bufsize 1500k -pix_fmt yuv420p -profile:v high -
level 4.0 -refs 3 -r 25 -g 50 -c:a libfdk_aac -b:a 96k -filter_complex "[0:a:0][0:a:1]
amerge=inputs=2, dynaudnorm=f=500:g=31:p=0.82:m=30.0:r=0.0:s=0.0 [aout]" -ar 44100 -ac 2 -map 0:0
-map "[aout]" -movflags +faststart -threads 0 -y",
"bitrate": "1500k",
"outputfilemimetype": "video/mp4"
}
FFmpeg filters are fun
metro - Media Transcoder
af_sidhaiompress f_senmd vfropdett vf_kerndeint vf_signalstats af_adelay af_sileedett f_zmq vfurves
vf_lenorrtion vf_smartblur af_aho af_sileeremove fifo vf_tdnoiz vf_libopev vf_spp af_aemphasis
af_sofalizer filtfmts vf_deband vf_lut vf_ssim af_afade af_stereotools formats vf_dimate vf_lut3d vf_stk
af_aformat af_stereowiden framepool vf_dejudder vf_maskedmerge vf_stereo3d af_agate af_tremolo
framesy vf_delogo vf_deint vf_subtitles af_alimiter af_vibrato generate_wave_table vf_deshake
vf_mergeplanes vf_super2xsai af_amerge af_volume graphdump vf_deteline vf_mpdimate vf_swapuv
af_amix af_volumedett graphparser vf_disple vf_neighbor vf_teline af_anequalizer allfilters lavfutils
vf_drawbox vf_noise vf_thumbnail af_anull asink_anullsink log2_tab vf_drawtext vf_null vf_tile af_apad
as_anoises lswsutils vf_edgedett vf_r vf_tinterle af_aphaser as_anulls opel_allkernels vf_elbg vf_overlay
vf_transpose af_apulsator as_flite pthread vf_eq vf_owdenoise vf_unsharp af_aresample as_sine setpts
vf_extrtplanes vf_pad vf_uspp af_asetnsamples audio settb vf_fade vf_palettegen vf_vtorope af_asetrate
avf_aphasemeter split vf_fftfilt vf_paletteuse vf_vflip af_ashowinfo avf_avtorope s_movie vf_field
vf_persptive vf_vidstabdett af_astats avfoat transform vf_fieldmah vf_phase vf_vidstabtransform af_asyts
avf_shoqt trim vf_fieldorder vf_pixdetest vf_vignette af_atempo avf_showfreqs unsharp_opel vf_find_rt
vf_pp vf_w3fdif af_biquads avf_showsptrum vf_alphamerge vf_format vf_pp7 vf_waveform af_bs2b
avf_showvolume vf_aspt vf_fps vf_psnr vf_xbr afhannelmap avf_showwaves vf_atadenoise vf_framepk
vf_pullup vf_yadif afhannelsplit avfilter vf_bbox vf_framerate vf_qp vf_zoompan afhorus avfiltergraph
vf_blkdett vf_framestep vf_random vf_zale afompand bbox vf_blkframe vf_frei0r vf_removegrain video
afompensationdelay buffersink vf_blend vf_fspp vf_removelogo vidstabutils af_shift buffers vf_boxblur
vf_geq vf_repeatfields vsink_nullsink af_dynaudnorm deshake_opel vfhromakey vf_gradfun vf_rotate
vsellauto af_earwax drawutils vfodview vf_hflip vf_sab vs_life af_extrastereo dualinput vfolorbalae
vf_histeq vf_ale vs_mandelbrot af_flanger f_drawgraph vfolohannelmixer vf_histogram vf_seltivolor
vs_mptests af_join f_ebur128 vfolorkey vf_hqdn3d vf_separatefields vs_tests af_ladspa f_interleave
vfolorlevels vf_hqx vf_setfield window_fu af_pan f_perms vfolormatrix vf_hue vf_showinfo af_replaygain
f_realtime vfopy vf_idet vf_showpalette af_resample f_reverse vfover_rt vf_il vf_shuffleframes
af_rubberband f_selt vfrop vf_interle vf_shuffleplanes
other FFmpeg filters
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
High speed
Medium speed
Low speed
metro - Media Transcoder
Step 1: Prepare watermark
metro - Media Transcoder
After audio normalisation
metro - Media Transcoder
GXF, ABC1
Profile:
- Crop
- Normalise audio
- Adjust ratio
- Add watermark
- GXF to MP4
metro - Media Transcoder
./ffmpeg utopia.gxf utopia.mp4
metro - Media Transcoder
Project Background:
Why did we
build Metro?
metro - Media Transcoder
metro - Media Transcoder
$$$
metro - Media Transcoder
thesupercarkids.com
metro - Media Transcoder
mini-me.com
metro - Media Transcoder
Thousands of
pieces of content
metro - Media Transcoder
More customisation
& flexibility
metro - Media Transcoder
metro - Media Transcoder
Cost vs Speed
Scale
Flexibility
metro - Media Transcoder
Questions?
metro - Media Transcoder
System Overview:
Architecture
metro - Media Transcoder
“The Cloud”
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
8 minutes 27 seconds
metro - Media Transcoder
Original
length
Time to produce rendition
60 min
7 min
42 min
Lowest
(audio)
Highest
(1500k)
metro - Media Transcoder
metro - Media Transcoder
System Overview:
Technology
Choices
metro - Media Transcoder
Node + Go
- AWS: EC2, SQS,
- S3, Dynamo/RDS
metro - Media Transcoder
Node.js
Components
metro - Media Transcoder
metro - Media Transcoder
Node.js
- Existing team experience
- Rapid development
- Solid choice for APIs
- Reservations for long lived processes
- Untyped. Sadface.
metro - Media Transcoder
Golang
Components
metro - Media Transcoder
metro - Media Transcoder
Golang
- Typed and compiled
- Cross-platform
- Easy deployment
- Concurrency (we don’t use this heavily)
metro - Media Transcoder
Golang
- Reasonable learning curve
- Magic interfaces
- Different techniques for testing
- Dependencies are challenging
metro - Media Transcoder
AWS - EC2
Elastic Compute
Load Balancing
Autoscaling
metro - Media Transcoder
metro - Media Transcoder
AWS - SQS
Simple Queuing
System
metro - Media Transcoder
metro - Media Transcoder
SQS
- First in first out (FIFO)
- Single consumer per message
- Message has “visibility timeout”
- Adjustable visibility timeout
metro - Media Transcoder
AWS - S3
File Storage
metro - Media Transcoder
metro - Media Transcoder
S3 - File Storage
- Store originals + output files
- Purge content after 7 days
metro - Media Transcoder
AWS - DynamoDB
metro - Media Transcoder
AWS - DynamoDB
metro - Media Transcoder
AWS - DynamoDB
AWS - MySQL on RDS
metro - Media Transcoder
metro - Media Transcoder
DynamoDB
- NoSQL
- Key-value pair storage
- Managed hosting
- Pay per record retrieval throughput
metro - Media Transcoder
DynamoDB
- Our use case was not optimal
- No aggregations = no stats
- Higher cost than expected
- Doesn’t scale automatically
metro - Media Transcoder
MySQL
- Switched to MySQL on RDS
- Managed hosting
- Aggregations!
- Data structure ported as-is
metro - Media Transcoder
Node + Go
- AWS: EC2, SQS,
- S3, Dynamo/RDS
metro - Media Transcoder
System Overview:
Autoscaling
Transcoders
metro - Media Transcoder
metro - Media Transcoder
How?
When?
metro - Media Transcoder
Scaling Considerations
- Hourly billing
- Instance size: Cost vs Speed
- Content priority
- Ad-hoc requests
- Varied content length
metro - Media Transcoder
AWS limitations
- AWS scaling metrics can be slow
- No automatic off switch
- Can’t choose instances to scale down
- (Instance protection now available)
metro - Media Transcoder
so many variables :(
metro - Media Transcoder
MVP:
Driven by profiles
metro - Media Transcoder
Amazon Machine
Images (AMIs)
metro - Media Transcoder
Which instance size?
metro - Media Transcoder
Time vs Cost
for 1 hour of content
Time Cost
?
metro - Media Transcoder
Winner: c4.xlarge
metro - Media Transcoder
Up: step scaling
Down: stop everything
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
Interesting puzzle :)
metro - Media Transcoder
Questions?
metro - Media Transcoder
System Overview:
Costs
metro - Media Transcoder
24 hours in
Transcoding
metro - Media Transcoder
(10am - 10am)
metro - Media Transcoder
$57.22
metro - Media Transcoder
$42.86
US Dollars
metro - Media Transcoder
EC2 Instances: $34.31
EC2 (other): $ 4.24
RDS: $ 2.66
S3: $ 1.65
SQS: $ 0.00
Total: $42.86
metro - Media Transcoder
Next 24 hours
Approx 70% of the volume
metro - Media Transcoder
$25.94
US Dollars
metro - Media Transcoder
One year’s costs?
metro - Media Transcoder
$16.5k
Australian Dollars
metro - Media Transcoder
($12.5k)
US Dollars
metro - Media Transcoder
thesupercarkids.com
metro - Media Transcoder
mini-me.com
metro - Media Transcoder
bikesandbeyond.ca
metro - Media Transcoder
Future Roadmap:
Cost
Optimisations
metro - Media Transcoder
Priority Content
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
On demand: 29c / hour
Spot: 4c / hour
c4.xlarge
metro - Media Transcoder
Transcoding in
chunks/segments
metro - Media Transcoder
metro - Media Transcoder
Future Roadmap:
Introspection &
Validation
metro - Media Transcoder
GXF, ABC1
Profile:
- Crop
- Normalise audio
- Adjust ratio
- Add watermark
- GXF to MP4
metro - Media Transcoder
ffprobe
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
Future Roadmap:
Features
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
Adoption
metro - Media Transcoder
Summary
metro - Media Transcoder
We had opportunity
for a new system
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
metro - Media Transcoder
8 minutes 27 seconds
metro - Media Transcoder
bikesandbeyond.ca
metro - Media Transcoder
www.iridetheharlemline.com/2013/05/13/a-commuters-rainbow
metro - Media Transcoder
http://developers.digital.abc.net.au/
we’re hiring :-)
metro - Media Transcoder
@daphnechong
@nickmchardy
metro - Media Transcoder
Q&A

More Related Content

What's hot

GPUIterator: Bridging the Gap between Chapel and GPU Platforms
GPUIterator: Bridging the Gap between Chapel and GPU PlatformsGPUIterator: Bridging the Gap between Chapel and GPU Platforms
GPUIterator: Bridging the Gap between Chapel and GPU Platforms
Akihiro Hayashi
 
Profiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf ToolsProfiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf Tools
emBO_Conference
 
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF SuperpowersLinux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
Brendan Gregg
 
Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
YanpingWang
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
Sasha Goldshtein
 

What's hot (19)

The Joy of Server Side Swift Development
The Joy  of Server Side Swift DevelopmentThe Joy  of Server Side Swift Development
The Joy of Server Side Swift Development
 
GPUIterator: Bridging the Gap between Chapel and GPU Platforms
GPUIterator: Bridging the Gap between Chapel and GPU PlatformsGPUIterator: Bridging the Gap between Chapel and GPU Platforms
GPUIterator: Bridging the Gap between Chapel and GPU Platforms
 
Onnc intro
Onnc introOnnc intro
Onnc intro
 
Profiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf ToolsProfiling your Applications using the Linux Perf Tools
Profiling your Applications using the Linux Perf Tools
 
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF SuperpowersLinux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
 
JavaOne 2015 Java Mixed-Mode Flame Graphs
JavaOne 2015 Java Mixed-Mode Flame GraphsJavaOne 2015 Java Mixed-Mode Flame Graphs
JavaOne 2015 Java Mixed-Mode Flame Graphs
 
OpenCL Heterogeneous Parallel Computing
OpenCL Heterogeneous Parallel ComputingOpenCL Heterogeneous Parallel Computing
OpenCL Heterogeneous Parallel Computing
 
Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
 
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
 
Odsc workshop - Distributed Tensorflow on Hops
Odsc workshop - Distributed Tensorflow on HopsOdsc workshop - Distributed Tensorflow on Hops
Odsc workshop - Distributed Tensorflow on Hops
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing Aurea
 
計算機性能の限界点とその考え方
計算機性能の限界点とその考え方計算機性能の限界点とその考え方
計算機性能の限界点とその考え方
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
Scaling TensorFlow with Hops, Global AI Conference Santa Clara
Scaling TensorFlow with Hops, Global AI Conference Santa ClaraScaling TensorFlow with Hops, Global AI Conference Santa Clara
Scaling TensorFlow with Hops, Global AI Conference Santa Clara
 
Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs
Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUsScaling out Tensorflow-as-a-Service on Spark and Commodity GPUs
Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 
SQL+GPU+SSD=∞ (English)
SQL+GPU+SSD=∞ (English)SQL+GPU+SSD=∞ (English)
SQL+GPU+SSD=∞ (English)
 

Viewers also liked

Rhozet™ Carbon Coder/Server/Admin v3.11 User Guide
Rhozet™ Carbon Coder/Server/Admin v3.11 User GuideRhozet™ Carbon Coder/Server/Admin v3.11 User Guide
Rhozet™ Carbon Coder/Server/Admin v3.11 User Guide
Videoguy
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentation
Rodrigo Missiaggia
 
30 important-virtualization-vmware-interview-questions-with-answers
30 important-virtualization-vmware-interview-questions-with-answers30 important-virtualization-vmware-interview-questions-with-answers
30 important-virtualization-vmware-interview-questions-with-answers
Latif Siddiqui
 

Viewers also liked (15)

Slide
SlideSlide
Slide
 
Rhozet™ Carbon Coder/Server/Admin v3.11 User Guide
Rhozet™ Carbon Coder/Server/Admin v3.11 User GuideRhozet™ Carbon Coder/Server/Admin v3.11 User Guide
Rhozet™ Carbon Coder/Server/Admin v3.11 User Guide
 
Gsm basics
Gsm basicsGsm basics
Gsm basics
 
Virtualization Questions
Virtualization QuestionsVirtualization Questions
Virtualization Questions
 
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
 
APIs That Make Things Happen
APIs That Make Things HappenAPIs That Make Things Happen
APIs That Make Things Happen
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
 
Red Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and FutureRed Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and Future
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentation
 
30 important-virtualization-vmware-interview-questions-with-answers
30 important-virtualization-vmware-interview-questions-with-answers30 important-virtualization-vmware-interview-questions-with-answers
30 important-virtualization-vmware-interview-questions-with-answers
 
Red Hat Storage Day Boston - Why Software-defined Storage Matters
Red Hat Storage Day Boston - Why Software-defined Storage MattersRed Hat Storage Day Boston - Why Software-defined Storage Matters
Red Hat Storage Day Boston - Why Software-defined Storage Matters
 
WebHooks in 10 Minutes
WebHooks in 10 MinutesWebHooks in 10 Minutes
WebHooks in 10 Minutes
 
BASIC GSM
BASIC GSMBASIC GSM
BASIC GSM
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Inside the ABC's new Media Transcoding system, Metro

dat-TrafficManager-for-Vantage
dat-TrafficManager-for-Vantagedat-TrafficManager-for-Vantage
dat-TrafficManager-for-Vantage
Scott Matics
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
Antonio Mondragon
 
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan PipemazoAtom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Redis Labs
 

Similar to Inside the ABC's new Media Transcoding system, Metro (20)

YOW! West 2016: Inside the ABC's new Media Transcoding service, Metro
YOW! West 2016: Inside the ABC's new Media Transcoding service, MetroYOW! West 2016: Inside the ABC's new Media Transcoding service, Metro
YOW! West 2016: Inside the ABC's new Media Transcoding service, Metro
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
 
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
 
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
 
FIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE Tech Summit - Stream Processing with Kurento Media ServerFIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE Tech Summit - Stream Processing with Kurento Media Server
 
Reconfigurable Coprocessors Synthesis in the MPEG-RVC Domain
Reconfigurable Coprocessors Synthesis in the MPEG-RVC DomainReconfigurable Coprocessors Synthesis in the MPEG-RVC Domain
Reconfigurable Coprocessors Synthesis in the MPEG-RVC Domain
 
dat-TrafficManager-for-Vantage
dat-TrafficManager-for-Vantagedat-TrafficManager-for-Vantage
dat-TrafficManager-for-Vantage
 
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래
 
AXONIM 2018 industrial automation technical support
AXONIM 2018 industrial automation technical supportAXONIM 2018 industrial automation technical support
AXONIM 2018 industrial automation technical support
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan PipemazoAtom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of Projects
 
Neotys PAC 2018 - Jonathon Wright
Neotys PAC 2018 - Jonathon WrightNeotys PAC 2018 - Jonathon Wright
Neotys PAC 2018 - Jonathon Wright
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Inside the ABC's new Media Transcoding system, Metro

  • 1. metro - Media Transcoder metro
  • 2. metro - Media Transcoder Daphne Chong Nick McHardy @daphnechong @nickmchardy
  • 3. metro - Media Transcoder Questions?
  • 4. metro - Media Transcoder Project Background - What is Transcoding? - Examples - FFmpeg - Why did we build our own?
  • 5. metro - Media Transcoder Architecture - Architecture overview - Technology choices - Transcoder autoscaling policies - Costs
  • 6. metro - Media Transcoder Future Roadmap - Cost optimisations - Validation and Introspection - Features
  • 7. metro - Media Transcoder Project Background: What is Transcoding?
  • 8. metro - Media Transcoder
  • 9. metro - Media Transcoder Converting video to different formats
  • 10. metro - Media Transcoder
  • 11. metro - Media Transcoder
  • 12. metro - Media Transcoder High speed Medium speed Low speed
  • 13. metro - Media Transcoder Standard Encoding
  • 14. metro - Media Transcoder Project Background: Transcoding Example
  • 15. metro - Media Transcoder Step 1: Prepare watermark
  • 16. metro - Media Transcoder Step 1: Prepare watermark
  • 17. metro - Media Transcoder Step 1: Prepare watermark
  • 18. metro - Media Transcoder Step 2: Input video (GXF)
  • 19. metro - Media Transcoder Step 3: Asymmetrical cropping
  • 20. metro - Media Transcoder Step 4: Scale and set aspect ratio
  • 21. metro - Media Transcoder Step 5: Apply watermark
  • 22. metro - Media Transcoder Step 6: Ready to stream 1500k
  • 23. metro - Media Transcoder other rendition sizes 1000k 650k 500k 220k audio only
  • 24. metro - Media Transcoder Original file audio track
  • 25. metro - Media Transcoder Previous transcoder audio track
  • 26. metro - Media Transcoder After audio normalisation
  • 27. metro - Media Transcoder Transcoding profiles
  • 28. metro - Media Transcoder GXF, ABC1 Profile: - Crop - Normalise audio - Adjust ratio - Add watermark - GXF to MP4
  • 29. metro - Media Transcoder GXF, ABC1
  • 30. metro - Media Transcoder GXF, ABC1 MOV, Arts Profile: - Adjust ratio - ProRes MOV to MP4
  • 31. metro - Media Transcoder GXF, ABC1 MOV, Arts
  • 32. metro - Media Transcoder Project Background: FFmpeg
  • 33. metro - Media Transcoder ./ffmpeg utopia.gxf utopia.mp4
  • 34. metro - Media Transcoder "hi+": { "transcoder": "ffmpeg", "transcoderoptions": "-c:v libx264 -filter_complex "[0:v]crop=720:576:0:32,yadif, scale=800x450,setdar=16/9[main], [1:v]scale=42:-1[ovrl], [main][ovrl]overlay=main_w-overlay_w-37: main_h-overlay_h-34" -crf 22 -maxrate 904k -bufsize 1000k -pix_fmt yuv420p -profile:v high -level 4.0 -refs 3 -r 25 -g 50 -c:a libfdk_aac -b:a 96k -filter_complex "[0:a:0][0:a:1] amerge=inputs=2, dynaudnorm=f=500:g=31:p=0.82:m=30.0:r=0.0:s=0.0 [aout]" -ar 44100 -ac 2 -map 0:0 -map "[aout]" -movflags +faststart -threads 0 -y", "bitrate": "1000k", "outputfilemimetype": "video/mp4" }, "hi++": { "transcoder": "ffmpeg", "transcoderoptions": "-c:v libx264 -filter_complex "[0:v]crop=720:576:0:32,yadif, scale=1024x576,setdar=16/9[main], [1:v]scale=54:-1[ovrl], [main][ovrl]overlay=main_w-overlay_w-47: main_h-overlay_h-44" -crf 22 -maxrate 1404k -bufsize 1500k -pix_fmt yuv420p -profile:v high - level 4.0 -refs 3 -r 25 -g 50 -c:a libfdk_aac -b:a 96k -filter_complex "[0:a:0][0:a:1] amerge=inputs=2, dynaudnorm=f=500:g=31:p=0.82:m=30.0:r=0.0:s=0.0 [aout]" -ar 44100 -ac 2 -map 0:0 -map "[aout]" -movflags +faststart -threads 0 -y", "bitrate": "1500k", "outputfilemimetype": "video/mp4" } FFmpeg filters are fun
  • 35. metro - Media Transcoder af_sidhaiompress f_senmd vfropdett vf_kerndeint vf_signalstats af_adelay af_sileedett f_zmq vfurves vf_lenorrtion vf_smartblur af_aho af_sileeremove fifo vf_tdnoiz vf_libopev vf_spp af_aemphasis af_sofalizer filtfmts vf_deband vf_lut vf_ssim af_afade af_stereotools formats vf_dimate vf_lut3d vf_stk af_aformat af_stereowiden framepool vf_dejudder vf_maskedmerge vf_stereo3d af_agate af_tremolo framesy vf_delogo vf_deint vf_subtitles af_alimiter af_vibrato generate_wave_table vf_deshake vf_mergeplanes vf_super2xsai af_amerge af_volume graphdump vf_deteline vf_mpdimate vf_swapuv af_amix af_volumedett graphparser vf_disple vf_neighbor vf_teline af_anequalizer allfilters lavfutils vf_drawbox vf_noise vf_thumbnail af_anull asink_anullsink log2_tab vf_drawtext vf_null vf_tile af_apad as_anoises lswsutils vf_edgedett vf_r vf_tinterle af_aphaser as_anulls opel_allkernels vf_elbg vf_overlay vf_transpose af_apulsator as_flite pthread vf_eq vf_owdenoise vf_unsharp af_aresample as_sine setpts vf_extrtplanes vf_pad vf_uspp af_asetnsamples audio settb vf_fade vf_palettegen vf_vtorope af_asetrate avf_aphasemeter split vf_fftfilt vf_paletteuse vf_vflip af_ashowinfo avf_avtorope s_movie vf_field vf_persptive vf_vidstabdett af_astats avfoat transform vf_fieldmah vf_phase vf_vidstabtransform af_asyts avf_shoqt trim vf_fieldorder vf_pixdetest vf_vignette af_atempo avf_showfreqs unsharp_opel vf_find_rt vf_pp vf_w3fdif af_biquads avf_showsptrum vf_alphamerge vf_format vf_pp7 vf_waveform af_bs2b avf_showvolume vf_aspt vf_fps vf_psnr vf_xbr afhannelmap avf_showwaves vf_atadenoise vf_framepk vf_pullup vf_yadif afhannelsplit avfilter vf_bbox vf_framerate vf_qp vf_zoompan afhorus avfiltergraph vf_blkdett vf_framestep vf_random vf_zale afompand bbox vf_blkframe vf_frei0r vf_removegrain video afompensationdelay buffersink vf_blend vf_fspp vf_removelogo vidstabutils af_shift buffers vf_boxblur vf_geq vf_repeatfields vsink_nullsink af_dynaudnorm deshake_opel vfhromakey vf_gradfun vf_rotate vsellauto af_earwax drawutils vfodview vf_hflip vf_sab vs_life af_extrastereo dualinput vfolorbalae vf_histeq vf_ale vs_mandelbrot af_flanger f_drawgraph vfolohannelmixer vf_histogram vf_seltivolor vs_mptests af_join f_ebur128 vfolorkey vf_hqdn3d vf_separatefields vs_tests af_ladspa f_interleave vfolorlevels vf_hqx vf_setfield window_fu af_pan f_perms vfolormatrix vf_hue vf_showinfo af_replaygain f_realtime vfopy vf_idet vf_showpalette af_resample f_reverse vfover_rt vf_il vf_shuffleframes af_rubberband f_selt vfrop vf_interle vf_shuffleplanes other FFmpeg filters
  • 36. metro - Media Transcoder
  • 37. metro - Media Transcoder
  • 38. metro - Media Transcoder High speed Medium speed Low speed
  • 39. metro - Media Transcoder Step 1: Prepare watermark
  • 40. metro - Media Transcoder After audio normalisation
  • 41. metro - Media Transcoder GXF, ABC1 Profile: - Crop - Normalise audio - Adjust ratio - Add watermark - GXF to MP4
  • 42. metro - Media Transcoder ./ffmpeg utopia.gxf utopia.mp4
  • 43. metro - Media Transcoder Project Background: Why did we build Metro?
  • 44. metro - Media Transcoder
  • 45. metro - Media Transcoder $$$
  • 46. metro - Media Transcoder thesupercarkids.com
  • 47. metro - Media Transcoder mini-me.com
  • 48. metro - Media Transcoder Thousands of pieces of content
  • 49. metro - Media Transcoder More customisation & flexibility
  • 50. metro - Media Transcoder
  • 51. metro - Media Transcoder Cost vs Speed Scale Flexibility
  • 52. metro - Media Transcoder Questions?
  • 53. metro - Media Transcoder System Overview: Architecture
  • 54. metro - Media Transcoder “The Cloud”
  • 55. metro - Media Transcoder
  • 56. metro - Media Transcoder
  • 57. metro - Media Transcoder
  • 58. metro - Media Transcoder
  • 59. metro - Media Transcoder
  • 60. metro - Media Transcoder
  • 61. metro - Media Transcoder
  • 62. metro - Media Transcoder
  • 63. metro - Media Transcoder
  • 64. metro - Media Transcoder
  • 65. metro - Media Transcoder
  • 66. metro - Media Transcoder
  • 67. metro - Media Transcoder
  • 68. metro - Media Transcoder
  • 69. metro - Media Transcoder
  • 70. metro - Media Transcoder
  • 71. metro - Media Transcoder 8 minutes 27 seconds
  • 72. metro - Media Transcoder Original length Time to produce rendition 60 min 7 min 42 min Lowest (audio) Highest (1500k)
  • 73. metro - Media Transcoder
  • 74. metro - Media Transcoder System Overview: Technology Choices
  • 75. metro - Media Transcoder Node + Go - AWS: EC2, SQS, - S3, Dynamo/RDS
  • 76. metro - Media Transcoder Node.js Components
  • 77. metro - Media Transcoder
  • 78. metro - Media Transcoder Node.js - Existing team experience - Rapid development - Solid choice for APIs - Reservations for long lived processes - Untyped. Sadface.
  • 79. metro - Media Transcoder Golang Components
  • 80. metro - Media Transcoder
  • 81. metro - Media Transcoder Golang - Typed and compiled - Cross-platform - Easy deployment - Concurrency (we don’t use this heavily)
  • 82. metro - Media Transcoder Golang - Reasonable learning curve - Magic interfaces - Different techniques for testing - Dependencies are challenging
  • 83. metro - Media Transcoder AWS - EC2 Elastic Compute Load Balancing Autoscaling
  • 84. metro - Media Transcoder
  • 85. metro - Media Transcoder AWS - SQS Simple Queuing System
  • 86. metro - Media Transcoder
  • 87. metro - Media Transcoder SQS - First in first out (FIFO) - Single consumer per message - Message has “visibility timeout” - Adjustable visibility timeout
  • 88. metro - Media Transcoder AWS - S3 File Storage
  • 89. metro - Media Transcoder
  • 90. metro - Media Transcoder S3 - File Storage - Store originals + output files - Purge content after 7 days
  • 91. metro - Media Transcoder AWS - DynamoDB
  • 92. metro - Media Transcoder AWS - DynamoDB
  • 93. metro - Media Transcoder AWS - DynamoDB AWS - MySQL on RDS
  • 94. metro - Media Transcoder
  • 95. metro - Media Transcoder DynamoDB - NoSQL - Key-value pair storage - Managed hosting - Pay per record retrieval throughput
  • 96. metro - Media Transcoder DynamoDB - Our use case was not optimal - No aggregations = no stats - Higher cost than expected - Doesn’t scale automatically
  • 97. metro - Media Transcoder MySQL - Switched to MySQL on RDS - Managed hosting - Aggregations! - Data structure ported as-is
  • 98. metro - Media Transcoder Node + Go - AWS: EC2, SQS, - S3, Dynamo/RDS
  • 99. metro - Media Transcoder System Overview: Autoscaling Transcoders
  • 100. metro - Media Transcoder
  • 101. metro - Media Transcoder How? When?
  • 102. metro - Media Transcoder Scaling Considerations - Hourly billing - Instance size: Cost vs Speed - Content priority - Ad-hoc requests - Varied content length
  • 103. metro - Media Transcoder AWS limitations - AWS scaling metrics can be slow - No automatic off switch - Can’t choose instances to scale down - (Instance protection now available)
  • 104. metro - Media Transcoder so many variables :(
  • 105. metro - Media Transcoder MVP: Driven by profiles
  • 106. metro - Media Transcoder Amazon Machine Images (AMIs)
  • 107. metro - Media Transcoder Which instance size?
  • 108. metro - Media Transcoder Time vs Cost for 1 hour of content Time Cost ?
  • 109. metro - Media Transcoder Winner: c4.xlarge
  • 110. metro - Media Transcoder Up: step scaling Down: stop everything
  • 111. metro - Media Transcoder
  • 112. metro - Media Transcoder
  • 113. metro - Media Transcoder
  • 114. metro - Media Transcoder
  • 115. metro - Media Transcoder
  • 116. metro - Media Transcoder Interesting puzzle :)
  • 117. metro - Media Transcoder Questions?
  • 118. metro - Media Transcoder System Overview: Costs
  • 119. metro - Media Transcoder 24 hours in Transcoding
  • 120. metro - Media Transcoder (10am - 10am)
  • 121. metro - Media Transcoder $57.22
  • 122. metro - Media Transcoder $42.86 US Dollars
  • 123. metro - Media Transcoder EC2 Instances: $34.31 EC2 (other): $ 4.24 RDS: $ 2.66 S3: $ 1.65 SQS: $ 0.00 Total: $42.86
  • 124. metro - Media Transcoder Next 24 hours Approx 70% of the volume
  • 125. metro - Media Transcoder $25.94 US Dollars
  • 126. metro - Media Transcoder One year’s costs?
  • 127. metro - Media Transcoder $16.5k Australian Dollars
  • 128. metro - Media Transcoder ($12.5k) US Dollars
  • 129. metro - Media Transcoder thesupercarkids.com
  • 130. metro - Media Transcoder mini-me.com
  • 131. metro - Media Transcoder bikesandbeyond.ca
  • 132. metro - Media Transcoder Future Roadmap: Cost Optimisations
  • 133. metro - Media Transcoder Priority Content
  • 134. metro - Media Transcoder
  • 135. metro - Media Transcoder
  • 136. metro - Media Transcoder On demand: 29c / hour Spot: 4c / hour c4.xlarge
  • 137. metro - Media Transcoder Transcoding in chunks/segments
  • 138. metro - Media Transcoder
  • 139. metro - Media Transcoder Future Roadmap: Introspection & Validation
  • 140. metro - Media Transcoder GXF, ABC1 Profile: - Crop - Normalise audio - Adjust ratio - Add watermark - GXF to MP4
  • 141. metro - Media Transcoder ffprobe
  • 142. metro - Media Transcoder
  • 143. metro - Media Transcoder
  • 144. metro - Media Transcoder
  • 145. metro - Media Transcoder
  • 146. metro - Media Transcoder
  • 147. metro - Media Transcoder Future Roadmap: Features
  • 148. metro - Media Transcoder
  • 149. metro - Media Transcoder
  • 150. metro - Media Transcoder
  • 151. metro - Media Transcoder
  • 152. metro - Media Transcoder Adoption
  • 153. metro - Media Transcoder Summary
  • 154. metro - Media Transcoder We had opportunity for a new system
  • 155. metro - Media Transcoder
  • 156. metro - Media Transcoder
  • 157. metro - Media Transcoder
  • 158. metro - Media Transcoder
  • 159. metro - Media Transcoder 8 minutes 27 seconds
  • 160. metro - Media Transcoder bikesandbeyond.ca
  • 161. metro - Media Transcoder www.iridetheharlemline.com/2013/05/13/a-commuters-rainbow
  • 162. metro - Media Transcoder http://developers.digital.abc.net.au/ we’re hiring :-)
  • 163. metro - Media Transcoder @daphnechong @nickmchardy
  • 164. metro - Media Transcoder Q&A