Reputation: 187
I have several 1080p video streams. I wanted to be able to stream any one of these streams to a browser. This requires that I transcode to a smaller resolution and to flv format or ogg/webm format. I tried this using vlc on the beagle bone black with the following command line.
cvlc 00080.MTS --sout "#transcode{vcodec=FLV1,acodec=mp3,vb=200,deinterlace,ab=32,width=720,height=480}:std{access=http,mux=ffmpeg{mux=flv},dst=/stream.flv,caching=3000}"
This gives me the following error
[h264 @ 0xb547c3e0] reference picture missing during reorder
[h264 @ 0xb547c3e0] Missing reference picture
I believe this is because the processor is too slow and incapable of handling 1080p. Because I tried the same thing with a 480p video and I get no such error.
My question is - Is there any other way I can transcode to a smaller resolution on the fly so it can be either streamed or viewed through HTML5 video. I tried pre transcoding all the streams but it took me 4 days and it still did not complete transcoding all the videos I had :) so that might not be an option. Thanks in advance for your time.
Upvotes: 1
Views: 2493
Reputation: 13712
In order to use the html5 player your only choices are ogg and webm (or mp4, but that is not supported by vlc)
cvlc \
v4l2:///dev/video0 \
--sout '#transcode{vcodec=VP80,vb=1000}:std{access=http{mime=video/webm},mux=webm,dst=:8080/cam1}' \
-vvv
180% - 250% CPU usage (on a 4core / 8 thread i7-4770)
cvlc \
v4l2:///dev/video0 \
--sout '#transcode{vcodec=theo,vb=2000}:std{access=http{mime=video/ogg},mux=ogg,dst=:8080/cam1}' \
-vvv
Upvotes: 1