Skip to content
justinjdickow edited this page Nov 13, 2014 · 4 revisions

Welcome to the sdl_core wiki!

Sorry for the poor format of this wiki right now, I'm just adding some of this documentation so I can point to it from a blog post and get it out there for people who are asking. It will be cleaned up.

h.264 Video Stream Instructions

  1. Build smartDeviceLink with the Gstreamer and Pulse audio flags set to ON (found in the top level CMakeFiles.txt)
  2. Go into src/appMain
  3. In smartDeviceLink.ini make sure HeartBeatTimeout = 0 and for VideoStreamConsumer make sure socket and file are commented out. Set VideoStreamConsumer and AudioStreamConsumer = pipe
  4. To figure out what gstreamer command works in your environment find a raw h.264 file and see what gstreamer command actually plays it.
Ubuntu 12.04
gst-launch-0.10 filesrc location=/tmp/video_stream_pipe ! decodebin ! ffmpegcolorspace ! videoscale ! ximagesink sync=false
Ubuntu 13.10
gst-launch-1.0 filesrc location=/tmp/video_stream_pipe ! decodebin ! videoconvert ! xvimagesink sync=false
gst-launch-1.0 filesrc location=/tmp/video_stream_pipe ! decodebin ! videoconvert ! ximagesink sync=false
  1. Open new tab in terminal and cd to /tmp
  2. cd to build/src/appMain and ./smartDeviceLinkCore
  3. In the /tmp directory, confirm the existence of the video and audio stream pipes
  4. Start gstreamer with the command confirmed to work in step 4 and the absolute path to the video_stream_pipe. You should see “setting pipeline to PAUSED” and “Pipeline is PREROLLING”
  5. On the smartphone open the provided smartDeviceLink Tester
  6. Deselect heartbeat, select MobileNavi, Media, and H264
  7. Connect via desired transport
  8. On the SDL HMI choose i, select the device
  9. On the application check the “Mobile Service Running” box
  10. Press Start File Streaming

Note: to play the video service within the HMI, in smartDeviceLink.ini use VideoStreamConsumer = socket instead of VideoStreamConsumer = pipe