# VoD Transcoding

**URL:** <https://community.wowza.com/t/vod-transcoding/41741>\
**Category:** Wowza Streaming Engine\
**Created:** [December 19, 2013, 1:43pm UTC](https://community.wowza.com/t/vod-transcoding/41741 "2013-12-19T13:43:14Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andy\_Antono](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andy\_Antono](https://community.wowza.com/u/Andy_Antono)\
**Post date:** [December 19, 2013, 1:43pm UTC](https://community.wowza.com/t/vod-transcoding/41741/1 "2013-12-19T13:43:14Z")

</div>

Hi,

I download and installed the Wowza server and is working nicely. I have a question for the VoD transcoding because all the documentation that i have seen until now are related to the streaming.

I would like to transcode a VoD file (mp4) to HLS in multiple profiles but i don’t want to stream it, i want only the transcoding (ts and m3u8 files) so i can inject the files to our origin server.

Shall i follow the live streaming guide (there is an option to write live in the application.xml but shall i leave it default?) or there is another guide for the transcoding side without the streaming?

At the moment i am using ffmpeg to create the ts files and then i am using the ffmpeg again to create the segments.

Thank you in advance

Andrew

---

<div class="post-metadata">

**Author:** ![sal\_jefferson](https://avatars.discourse-cdn.com/v4/letter/s/6de8d8/32.png) [@sal\_jefferson](https://community.wowza.com/u/sal_jefferson)\
**Post date:** [December 19, 2013, 7:50am UTC](https://community.wowza.com/t/vod-transcoding/41741/2 "2013-12-19T07:50:19Z")

</div>

This guide will walk you through this process:

[How to encode video on demand content](https://www.wowza.com/docs/how-to-encode-video-on-demand-content)

Salvadore

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [December 19, 2013, 3:09pm UTC](https://community.wowza.com/t/vod-transcoding/41741/3 "2013-12-19T15:09:02Z")

</div>

> i want only the transcoding (ts and m3u8 files) so i can inject the files to our origin server.

Andrew,

What is your “origin” server, is it a Wowza server? If so, you can use [Live Stream Repeater](https://www.wowza.com/docs/how-to-configure-a-live-stream-repeater), but it sounds like it might be something else, and that what you might need is Wowza as an [HTTP Origin following this guide](https://www.wowza.com/docs/how-to-configure-a-wowza-server-as-an-http-caching-origin)

Wowza segments on demand and live stream into .ts files (chunks) for HLS playback. Wowza does not write these to disk, they are only in memory, but you can easily write each .ts chunk in a Wowza HLS stream then do whatever you want with those files.

Generally, for ABR vod, use your encoder to encode several bitrate renditions then let Wowza segment the stream for HLS.

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [December 20, 2013, 8:51pm UTC](https://community.wowza.com/t/vod-transcoding/41741/4 "2013-12-20T20:51:33Z")

</div>

Andrew,

I think with a Broadpeak server you will have to use HTTP Origin mode. It would have to pull HTTP chunks from Wowza into its cache. I do not know if there is anything built-in to Broadpeak server for that, or how you would put that in place on the Broadpeak side, but pulling these chunks over HTTP and saving them to disk should be fairly simple.

Richard

---

<div class="post-metadata">

**Author:** ![Andy\_Antono](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andy\_Antono](https://community.wowza.com/u/Andy_Antono)\
**Post date:** [December 19, 2013, 2:49pm UTC](https://community.wowza.com/t/vod-transcoding/41741/5 "2013-12-19T14:49:57Z")

</div>

> This guide will walk you through this process:
> 
> [How to encode video on demand content](https://www.wowza.com/docs/how-to-encode-video-on-demand-content)
> 
> Salvadore

Hi Salvadore,

The guide is explained how to encode an mp4 to different bitrates in different resolutions. But i need to create the ts files and then segment the ts and create the m3u8.

For example i can do the same with the ffmpeg:

fmpeg -i jeff.mpg -c:v libx264 -b:v 2000k -minrate 2000k -maxrate 2000k -bufsize 2000k jeff1.mp4

but can i do the following with the wowza:

ffmpeg -y -i jeff.mpg -threads 0 -f mpegts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile baseline \

-x264opts “fps=12:keyint=36:bitrate=200” -s 416x234 jeff\_416\_234\_200.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile baseline \

-x264opts “fps=12:keyint=36:bitrate=400” -s 480x270 jeff\_480\_270\_400.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile baseline \

-x264opts “fps=24:keyint=72:bitrate=600” -s 640x360 jeff\_640\_360\_600.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile baseline \

-x264opts “fps=24:keyint=72:bitrate=1200” -s 640x360 jeff\_640\_360\_1100.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile main \

-x264opts “fps=24:keyint=72:bitrate=1800” -s 960x540 jeff\_960\_540\_1400.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile main \

-x264opts “fps=24:keyint=72:bitrate=2500” -s 960x540 jeff\_960\_540\_1800.ts \

-acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -vprofile main \

-x264opts “fps=24:keyint=72:bitrate=4500” -s 1280x720 jeff\_1280\_720\_2000.ts \

and for the segmenting:

ffmpeg -re -i jeff\_416\_234\_200.ts -codec copy -map 0 -f segment -segment\_list eden\_416\_234\_200.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_416\_234\_200%07d.ts

ffmpeg -re -i jeff\_480\_270\_400.ts -codec copy -map 0 -f segment -segment\_list eden\_480\_270\_400.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_480\_270\_400%07d.ts

ffmpeg -re -i jeff\_640\_360\_600.ts -codec copy -map 0 -f segment -segment\_list eden\_640\_360\_600.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_640\_360\_600%07d.ts

ffmpeg -re -i jeff\_640\_360\_1200.ts -codec copy -map 0 -f segment -segment\_list eden\_640\_360\_1200.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_640\_360\_1200%07d.ts

ffmpeg -re -i jeff\_960\_540\_1800.ts -codec copy -map 0 -f segment -segment\_list eden\_960\_540\_1800.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_960\_540\_1800%07d.ts

ffmpeg -re -i jeff\_960\_540\_2500.ts -codec copy -map 0 -f segment -segment\_list eden\_960\_540\_2500.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_960\_540\_2500%07d.ts

ffmpeg -re -i jeff\_1280\_720\_4500.ts -codec copy -map 0 -f segment -segment\_list eden\_1280\_720\_4500.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_1280\_720\_4500%07d.ts

ffmpeg -re -i eden\_1920\_1080\_8500.ts -codec copy -map 0 -f segment -segment\_list eden\_1920\_1080\_8500.m3u8 -segment\_list\_flags +live -segment\_time 7 eden\_1920\_1080\_8500%07d.ts

I create a script to automate all the above but i would like to do it with the wowza because we are thinking to buy the server and use it in a production line.

Thank you

Andrew

---

<div class="post-metadata">

**Author:** ![Andy\_Antono](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andy\_Antono](https://community.wowza.com/u/Andy_Antono)\
**Post date:** [December 19, 2013, 3:16pm UTC](https://community.wowza.com/t/vod-transcoding/41741/6 "2013-12-19T15:16:34Z")

</div>

Hi Richard,

Thank for make it more clear. We are using Broadpeak origin server, can the wowza inject to Broadpeak?

Also the .ts files aren’t saved somewhere because is streaming the content instead of transcoding?

How can i write the .ts in a Wowza HLS stream and get the .ts files?

We are also looking a solution to stream live channels to HLS (which i am sure wowza can do). How can i contact with a consultant from Wowza to get a quote and some extra info?

Thank you

Andrew
