====== VLC ====== ===== Fragments ===== :sout=#transcode{vcodec=mp1v,vb=,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=udp,mux=ts,url=192.168.178.2:1234}} :sout=#transcode{vcodec=mp4v,vb=2500,scale=0.75,acodec=mp4a,ab=128,channels=2,deinterlace}:duplicate{dst=std{access=file,mux=mp4,url="test.mpeg"}} ===== Command Lines ===== ===== Scripts ===== ==== Shell ==== #!/bin/bash /Applications/VLC.app/Contents/MacOS/VLC -vvv "$1.mpg" \ --sout "#transcode{vcodec=mp4v,vb=1024,scale=1, \ acodec=mp4a,ab=128,channels=2}:standard{access=file, \ url=$1.mp4}" \ --aspect-ratio "4:3" --sout-transcode-width 360 \ --sout-transcode-height 240 --sout-transcode-fps 30 ==== Java ==== === Transcode and scale === // dbvlc.js - Dreambox VLC Script 2004 - Lars Ronnback (lars@delicate.se) // Configuration var dreambox = "192.168.0.2"; var useTranscoding = "true" // Transcoding options var windows = "192.168.0.3"; var port = 8080; var videoCodec = "mp4v"; var videoBitrate = 400; var scale = 0.5; var audioCodec = "vorb"; var audioBitrate = 96; var mux = "ogg"; var access = "http"; // Used for reading registry and calling vlc var shell = new ActiveXObject("WScript.Shell"); // Fetch the streaminfo from the Dreambox var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("GET", "http://" + dreambox + "/cgi-bin/streaminfo", false); xmlhttp.send(); var streaminfo = xmlhttp.responseText; // Get rid of some HTML junk var trTag = //g; streaminfo = streaminfo.replace(trTag, "\n"); var anyTag = /<[^>]*>/g; streaminfo = streaminfo.replace(anyTag, ""); // Parse the important values // shell.popup(streaminfo); var pmt = streaminfo.substr(streaminfo.indexOf("PMT:") + 4, 4); var aPid = streaminfo.substr(streaminfo.indexOf("APID:") + 5, 4); var vPid = streaminfo.substr(streaminfo.indexOf("VPID:") + 5, 4); var vfIndex = streaminfo.indexOf("Video Format:"); var width = streaminfo.substr(vfIndex + 13, streaminfo.indexOf("x", vfIndex) - vfIndex - 13); var height = streaminfo.substr(streaminfo.indexOf("x", vfIndex) + 1, streaminfo.indexOf(" ", vfIndex) - vfIndex - 2); // Read the VLC location from the registry var key = "HKLM\\Software\\Classes\\Applications\\vlc.exe\\shell\\Play\\command\\"; var vlc = shell.regRead(key); vlc = vlc.substr(0, vlc.lastIndexOf(" ")); // Set up transcoding options var transcoding = "" if (useTranscoding == "true") transcoding = "--sout \"#transcode{acodec=" + audioCodec + ",ab=" + audioBitrate + ",vcodec=" + videoCodec + ",width=" + width * scale + ",height=" + height * scale + ",deinterlace}:standard{access=" + access + ",mux=" + mux + ",url=" + windows + ":" + port + "}\""; // Start VLC with all options var commandLine = "\"" + vlc + "\" -vvv http://" + dreambox + ":31339/0," + pmt + "," + vPid + "," + aPid + " " + transcoding; shell.run(commandLine);