Difference between revisions of "Playing Videos and Music"

From EmuVR Wiki
Jump to: navigation, search
(Created page with "TODO: Add instructions and details on playing media in EmuVR Category:TODO")
 
m
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
โˆ’
TODO: Add instructions and details on playing media in EmuVR
+
'''TL;DR:''' To play video and music files, you'll just add them exactly like you add your games. When creating folders for your systems inside '''EmuVR\Games''', just add a Video and/or a Music folder, copy your video and music files there, add them to Game Scanner, assign the ''Video'' or ''Music'' media types to them (or click ''Autofill''), then click ''Scan''. They'll show up in your inventory menu in EmuVR.
  
โˆ’
[[Category:TODO]]
+
Read below for more detailed instructions.
 +
 
 +
 
 +
<span class="toclimit-3">__TOC__</span>
 +
 
 +
 
 +
Thanks to the [https://docs.libretro.com/library/ffmpeg/ FFMPEG core], EmuVR supports playing video and music files. Additionally, you can also play compatible web streams, provided you have a valid accessible URL. This guide will offer some brief instructions on setting up these types of media.
 +
 
 +
== Video/Music ==
 +
 
 +
Video and Music are a straightforward setup, as the steps are similar to setting up games.
 +
 
 +
* Create a folder inside '''EmuVR\Games''' for your movies. This can be named as you like, but it's recommended you pick something along the lines of '''Videos''' or '''Music'''.
 +
* Place your media files in this new directory. Compatible file formats: <code>.mp4, .mkv, .avi, .mp3, .ogg, .flac, .mpg, .webm, .wmv, .3g2, .3gp, .asf, .divx, .f4f, .f4v, .flv, .m2p, .m2ts, .m4a, .mov, .mpeg, .mxf, .ogm, .ps, .ts, .vob, .wma</code> <br/> More info in the libretro docs for the FFMPEG core, located [https://docs.libretro.com/library/ffmpeg/#extensions here.]
 +
* Run Game Scanner. If you named your folder similar to the name examples above, it should detect them when you click Autofill. If not, add the folder manually.
 +
* Ensure the '''media type''' is set to '''Video''' or '''Music''' depending on the media type.
 +
* Scan.
 +
* Launch EmuVR.
 +
 
 +
As long as you've used compatible media and setup Game Scanner properly, you should now be able to spawn VCRs and VHS tapes for your Videos (and generic cartridges for Music).
 +
 
 +
'''Important Notes'''
 +
 
 +
* While we have proper '''DVD''', '''VHS''' and '''VCR''' models, the '''Cassette''' and '''CD''' media types (while functionally identical) will currently show up as generic console and cartridge models. These variations are placeholders for when more models are created in the future. (The only '''DVD player''' model currently available is the '''PS2''' console.)
 +
* If you would like to play more than one file per VHS or cartridge, you can do so by manually merging your files(a topic not covered here, as it is somewhat advanced), or by reading the section below about ''Streaming'' for an alternative.
 +
 
 +
=== Controls ===
 +
 
 +
{| class="wikitable table-row-hover table-left-padding" style="text-align:center"
 +
! style="width: 230px" | Action
 +
!| Keyboard
 +
!| Gamepad
 +
!| Oculus Touch
 +
!| Index
 +
!| WMR
 +
!| Vive
 +
|-
 +
| Play / Pause
 +
| Space
 +
| A
 +
| A ''or'' X
 +
| A
 +
| Trackpad [Down]
 +
| Trackpad [Down]
 +
|-
 +
| Skip Back / Forward 10 seconds
 +
| Arrows [Left/Right]
 +
| Left Analog [Left/Right]
 +
| Left Analog [Left/Right]
 +
| Left Analog [Left/Right]
 +
| Left Analog [Left/Right]
 +
| Left Trackpad [Left/Right]
 +
|-
 +
| Skip Back / Forward 60 seconds
 +
| Arrows [Down/Up]
 +
| Left Analog [Down/Up]
 +
| Left Analog [Down/Up]
 +
| Left Analog [Down/Up]
 +
| Left Analog [Down/Up]
 +
| Left Trackpad [Down/Up]
 +
|-
 +
| Cycle Audio Tracks
 +
| Q
 +
| Left Shoulder
 +
| Left Analog<br>(Press/Click)
 +
| Left Analog<br>(Press/Click)
 +
| Left Trackpad [Left]
 +
| Right Trackpad [Left]
 +
|-
 +
| Cycle Subtitles
 +
| W
 +
| Right Shoulder
 +
| Left Trigger
 +
| Left Trigger
 +
| Left Trigger
 +
| Right Trackpad [Right]
 +
|-
 +
|}
 +
 
 +
 
 +
== Streaming ==
 +
 
 +
In addition to using video files from your HDD, you can also directly stream some media formats without needing to download anything.
 +
 
 +
=== Streaming from the Web ===
 +
 
 +
The FFMPEG Core, by default, handles a wide variety of media including common stream formats. Getting those URLs into EmuVR is fairly straightforward, but does need a bit of manual work.
 +
 
 +
* Create a new file in your '''Games/Video''' directory. You can name it whatever you would like, but it '''must''' end with the extension '''.str''' (be sure to [https://cdn.discordapp.com/attachments/497454201266372628/703331317085110413/unknown.png enable file extensions] or you might actually end with an invisible <i>"filename.str.txt"</i>)
 +
* Open this new file with Notepad.
 +
* Paste the link to the stream you'd like to play. Note that this needs to be a '''direct link to a file''', and not just a webpage where the stream is displayed. A direct link will usually end with a file extension, and if you open the url in your browser it will either prompt you to download the file or just play it in the browser. (As an example, the link might look something like '''http://mycoolsite.com/stream/supercoolstream.m3u8''' or '''https://sample-videos.com/video123/mp4/480/big_buck_bunny_480p_10mb.mp4'''.
 +
* YouTube links can be used as well, but with [[#YouTube_.28Experimental.29|experimental]] support.
 +
* Save the file.
 +
* Run Game Scanner and scan. You should now have a VHS in game named after the '''.str''' file you created.
 +
 
 +
'''Important Notes'''
 +
 
 +
If the console immediately turns off without playing, it usually means that either the link is not accessible or that it's not compatible with ffmpeg. Verify that you are using a direct link to the stream, and that it's accessible in a incognito/private browser window.
 +
 
 +
'''Twitch or other streaming sites don't work with this method.'''
 +
 
 +
=== YouTube (Experimental) ===
 +
The [[#Streaming_from_the_Web|streaming]] method above also works with YouTube links, just write the URL in the '''.str''' file.
 +
 
 +
Example: <code><nowiki>https://www.youtube.com/watch?v=cXqt2J9iJOk</nowiki></code>
 +
 
 +
Playing YouTube videos is '''experimental''' and has '''limited''' support.
 +
 
 +
Known issues:
 +
* Videos might not always load.
 +
* Live streaming is not supported.
 +
* Rewinding is not supported. (They'll just turn off if you try to rewind. Skipping forward does work though.)
 +
* It works with netplay but can be unstable and turn off many times on clients if they join the host after the video has already started. (Workaround: Wait until your friends have joined the room before loading a Youtube video, or restart the video after they do.)
 +
 
 +
 
 +
=== Streaming through your PC (Experimental / Advanced) ===
 +
'''Disclaimer:''' These are workarounds using third party software, which might stop working after any update or for any unpredictable reason. <br>Again, this is '''experimental''', unreliable, unstable, unpredictable, and out of our control. It might work for some people and not for you. It doesn't work with netplay.
 +
<br>'''This is not supported.''' Good luck.
 +
 
 +
 
 +
These methods can help you stream from sources not accessible from a direct links, like Youtube or Twitch, or let you join multiple local videos into a single stream.
 +
 
 +
''<nowiki>*</nowiki> Youtube blocks streaming videos containing copyrighted music.''
 +
 
 +
Click below to learn more.
 +
 
 +
<div class="mw-collapsible mw-collapsible-border mw-collapsed" data-expandtext="Streamlink Method" data-collapsetext="Hide">
 +
==== Streamlink Method ====
 +
Sometimes, the media you want isn't accessible from a direct link. For example, '''Youtube''' and '''Twitch''', live or not. Streamlink can process and re-stream those feeds into EmuVR.
 +
 
 +
Comparison to VLC method below:
 +
* Easier to use.
 +
* Streams will not start playing before you actually turn on the VCR in EmuVR.
 +
* Supports [https://streamlink.github.io/plugins.html more sources than VLC].
 +
* Does not support playlists.
 +
* Does not support local files from your disk.
 +
 
 +
Instructions:
 +
* Download and install Streamlink from [https://github.com/streamlink/windows-builds/releases this page.] (Alternative [https://github.com/beardypig/streamlink-portable/releases/tag/latest portable version.])
 +
* Create a new '''.str''' file in your '''\Games\Video''' directory. You can name it whatever you would like, but it '''must''' end with '''.str''' (be sure to [https://cdn.discordapp.com/attachments/497454201266372628/703331317085110413/unknown.png enable file extensions] or you might actually end up with an invisible <i>"filename.str.txt"</i>)
 +
* Open the new file with Notepad, add the following line, then save it: <code><nowiki>http://127.0.0.1:8080</nowiki></code>
 +
* Scan with '''Game Scanner''' as usual, to add the new file to your inventory as a VHS.
 +
* Create a new '''.bat''' file anywhere you want, then edit it with Notepad to add the following command, using a Youtube video as example:
 +
<code><nowiki>streamlink --player-external-http --player-external-http-port 8080 --player-no-close https://www.youtube.com/watch?v=cXqt2J9iJOk 480p
 +
</nowiki></code>
 +
* Replace the Youtube URL in the command above with any other supported source, like Twitch, as listed [https://streamlink.github.io/plugins.html here].
 +
* Before playing your new VHS in EmuVR, run the .bat file. (It must keep running in the background while you play EmuVR.)
 +
* You can create multiple .bat files for different sources and switch between them for a same VHS.
 +
* You can also use different ports (8080 in our example) for different .bat + .str and play each VHS simultaneously if you also run each .bat file simultaneously.
 +
 
 +
Check Streamlink's documentation to learn [https://streamlink.github.io/index.html how to use it] and [https://streamlink.github.io/plugins.html which services are supported or not.]
 +
</div>
 +
 
 +
<div class="mw-collapsible mw-collapsible-border mw-collapsed" data-expandtext="VLC Method" data-collapsetext="Hide">
 +
==== VLC Method ====
 +
Sometimes, the media you want isn't accessible from a direct link. For example, '''Youtube''' and '''Twitch'''. Or perhaps you'd like to use your own media and play a series of videos or music without needing to swap VHS tapes for each episode. Maybe you have a bunch of shows and old commercials in a playlist that you'd like to watch to emulate a TV channel. While this functionality isn't supported in EmuVR, a workaround has been created by a user of the community using the popular media player [https://www.videolan.org/vlc/index.html VLC].
 +
 
 +
Comparison to Streamlink method above:
 +
* Harder to setup and use.
 +
* Streams will start playing as soon as you load VLC, even if you haven't turned on the VCR in EmuVR.
 +
* Supports less sources than Streamlink].
 +
* Support playlists.
 +
* Support local files from your disk, joining them into a single VHS.
 +
 
 +
Instructions:
 +
 
 +
* If you don't already have it, download and install VLC.
 +
* Create a new .str file in your '''\Games\Video''' directory. You can name it whatever you would like, but it '''must''' end with '''.str''' (be sure to [https://cdn.discordapp.com/attachments/497454201266372628/703331317085110413/unknown.png enable file extensions] or you might actually end  up with an invisible <i>"filename.str.txt"</i>)
 +
* Open this new file with a text editor. Notepad will do.
 +
* This is where things get tricky. In this file, you need to enter the following: '''http://127.0.0.1:8080/MYSTREAM.ts'''. The '''MYSTREAM''' can be whatever word you would like, but the rest of the link '''must''' match the example given. For these instructions, we will be using the URL '''http://127.0.0.1:8080/teststream.ts'''.
 +
* Scan with '''Game Scanner''' as usual, to add the new file to your inventory.
 +
* Open VLC.
 +
* If using default hotkeys in VLC, press ''Control + S''. Alternatively, you can open the proper menu via ''Media -> Stream''.
 +
* In the window that appears, add your media. These can be any format VLC supports.
 +
* Once you've added some files, click ''Stream''.
 +
* Click ''Next.'' In the Destination Setup Window, click the dropdown that currently says '''File'''. Change this to '''HTTP'''. Click '''Add'''.
 +
* Leave the port as 8080. Only change this if you know what you're doing or why you're doing it.
 +
* Set the '''Path''' to '''/MYSTREAM.ts''', or whatever you chose in place of '''MYSTREAM'''. In this case, we're going to use '''/teststream.ts'''.
 +
* Click Next.
 +
* Ensure '''Activate Transcoding''' is ticked. In the profile box, choose '''Video - H.264 + MP3 (TS)'''.
 +
* Choose Next. Then, choose Stream.
 +
 
 +
'''NOTE:''' If you only see one of the files you added in the stream queue, you may have to add all your files to a playlist as you would to normally play them, save the playlist (Ctrl+Y), then use that file in the Stream window instead.
 +
 
 +
You're done. You should now see the files you chose appear in your VLC playlist, and the timestamp will be moving. You may not see the video actually playing in VLC- this is normal, as long as the timestamp is moving your files are streaming. Open EmuVR and play your new stream VHS. It might take a few seconds to load, but you'll eventually see your video file playing on the TV.
 +
 
 +
'''Important Notes'''
 +
 
 +
* This method of streaming is likely not the most efficient, and exists only as a workaround to stream from places where a direct link isn't accessible, like Twitch or Youtube, or to play a large number of media files on one VHS without needing to swap them out.
 +
* VLC '''must''' remain running, and the files must be playing in order for the stream to work. If you attempt to play the stream VHS without VLC running/playing, it will simply turn off without loading anything.
 +
* If you decide you want to add more files to this playlist, you will need to do so via the Stream menu. Otherwise, VLC will just play the file as a regular file and your console in-game will shut off.
 +
* You ''can'' save the playlist of streaming files with VLC to open it again later without needing to go through all the setup steps again.
 +
</div>

Latest revision as of 07:04, 3 February 2023

TL;DR: To play video and music files, you'll just add them exactly like you add your games. When creating folders for your systems inside EmuVR\Games, just add a Video and/or a Music folder, copy your video and music files there, add them to Game Scanner, assign the Video or Music media types to them (or click Autofill), then click Scan. They'll show up in your inventory menu in EmuVR.

Read below for more detailed instructions.



Thanks to the FFMPEG core, EmuVR supports playing video and music files. Additionally, you can also play compatible web streams, provided you have a valid accessible URL. This guide will offer some brief instructions on setting up these types of media.

Video/Music

Video and Music are a straightforward setup, as the steps are similar to setting up games.

  • Create a folder inside EmuVR\Games for your movies. This can be named as you like, but it's recommended you pick something along the lines of Videos or Music.
  • Place your media files in this new directory. Compatible file formats: .mp4, .mkv, .avi, .mp3, .ogg, .flac, .mpg, .webm, .wmv, .3g2, .3gp, .asf, .divx, .f4f, .f4v, .flv, .m2p, .m2ts, .m4a, .mov, .mpeg, .mxf, .ogm, .ps, .ts, .vob, .wma
    More info in the libretro docs for the FFMPEG core, located here.
  • Run Game Scanner. If you named your folder similar to the name examples above, it should detect them when you click Autofill. If not, add the folder manually.
  • Ensure the media type is set to Video or Music depending on the media type.
  • Scan.
  • Launch EmuVR.

As long as you've used compatible media and setup Game Scanner properly, you should now be able to spawn VCRs and VHS tapes for your Videos (and generic cartridges for Music).

Important Notes

  • While we have proper DVD, VHS and VCR models, the Cassette and CD media types (while functionally identical) will currently show up as generic console and cartridge models. These variations are placeholders for when more models are created in the future. (The only DVD player model currently available is the PS2 console.)
  • If you would like to play more than one file per VHS or cartridge, you can do so by manually merging your files(a topic not covered here, as it is somewhat advanced), or by reading the section below about Streaming for an alternative.

Controls

Action Keyboard Gamepad Oculus Touch Index WMR Vive
Play / Pause Space A A or X A Trackpad [Down] Trackpad [Down]
Skip Back / Forward 10 seconds Arrows [Left/Right] Left Analog [Left/Right] Left Analog [Left/Right] Left Analog [Left/Right] Left Analog [Left/Right] Left Trackpad [Left/Right]
Skip Back / Forward 60 seconds Arrows [Down/Up] Left Analog [Down/Up] Left Analog [Down/Up] Left Analog [Down/Up] Left Analog [Down/Up] Left Trackpad [Down/Up]
Cycle Audio Tracks Q Left Shoulder Left Analog
(Press/Click)
Left Analog
(Press/Click)
Left Trackpad [Left] Right Trackpad [Left]
Cycle Subtitles W Right Shoulder Left Trigger Left Trigger Left Trigger Right Trackpad [Right]


Streaming

In addition to using video files from your HDD, you can also directly stream some media formats without needing to download anything.

Streaming from the Web

The FFMPEG Core, by default, handles a wide variety of media including common stream formats. Getting those URLs into EmuVR is fairly straightforward, but does need a bit of manual work.

  • Create a new file in your Games/Video directory. You can name it whatever you would like, but it must end with the extension .str (be sure to enable file extensions or you might actually end with an invisible "filename.str.txt")
  • Open this new file with Notepad.
  • Paste the link to the stream you'd like to play. Note that this needs to be a direct link to a file, and not just a webpage where the stream is displayed. A direct link will usually end with a file extension, and if you open the url in your browser it will either prompt you to download the file or just play it in the browser. (As an example, the link might look something like http://mycoolsite.com/stream/supercoolstream.m3u8 or https://sample-videos.com/video123/mp4/480/big_buck_bunny_480p_10mb.mp4.
  • YouTube links can be used as well, but with experimental support.
  • Save the file.
  • Run Game Scanner and scan. You should now have a VHS in game named after the .str file you created.

Important Notes

If the console immediately turns off without playing, it usually means that either the link is not accessible or that it's not compatible with ffmpeg. Verify that you are using a direct link to the stream, and that it's accessible in a incognito/private browser window.

Twitch or other streaming sites don't work with this method.

YouTube (Experimental)

The streaming method above also works with YouTube links, just write the URL in the .str file.

Example: https://www.youtube.com/watch?v=cXqt2J9iJOk

Playing YouTube videos is experimental and has limited support.

Known issues:

  • Videos might not always load.
  • Live streaming is not supported.
  • Rewinding is not supported. (They'll just turn off if you try to rewind. Skipping forward does work though.)
  • It works with netplay but can be unstable and turn off many times on clients if they join the host after the video has already started. (Workaround: Wait until your friends have joined the room before loading a Youtube video, or restart the video after they do.)


Streaming through your PC (Experimental / Advanced)

Disclaimer: These are workarounds using third party software, which might stop working after any update or for any unpredictable reason.
Again, this is experimental, unreliable, unstable, unpredictable, and out of our control. It might work for some people and not for you. It doesn't work with netplay.
This is not supported. Good luck.


These methods can help you stream from sources not accessible from a direct links, like Youtube or Twitch, or let you join multiple local videos into a single stream.

* Youtube blocks streaming videos containing copyrighted music.

Click below to learn more.

Streamlink Method

Sometimes, the media you want isn't accessible from a direct link. For example, Youtube and Twitch, live or not. Streamlink can process and re-stream those feeds into EmuVR.

Comparison to VLC method below:

  • Easier to use.
  • Streams will not start playing before you actually turn on the VCR in EmuVR.
  • Supports more sources than VLC.
  • Does not support playlists.
  • Does not support local files from your disk.

Instructions:

  • Download and install Streamlink from this page. (Alternative portable version.)
  • Create a new .str file in your \Games\Video directory. You can name it whatever you would like, but it must end with .str (be sure to enable file extensions or you might actually end up with an invisible "filename.str.txt")
  • Open the new file with Notepad, add the following line, then save it: http://127.0.0.1:8080
  • Scan with Game Scanner as usual, to add the new file to your inventory as a VHS.
  • Create a new .bat file anywhere you want, then edit it with Notepad to add the following command, using a Youtube video as example:

streamlink --player-external-http --player-external-http-port 8080 --player-no-close https://www.youtube.com/watch?v=cXqt2J9iJOk 480p

  • Replace the Youtube URL in the command above with any other supported source, like Twitch, as listed here.
  • Before playing your new VHS in EmuVR, run the .bat file. (It must keep running in the background while you play EmuVR.)
  • You can create multiple .bat files for different sources and switch between them for a same VHS.
  • You can also use different ports (8080 in our example) for different .bat + .str and play each VHS simultaneously if you also run each .bat file simultaneously.

Check Streamlink's documentation to learn how to use it and which services are supported or not.

VLC Method

Sometimes, the media you want isn't accessible from a direct link. For example, Youtube and Twitch. Or perhaps you'd like to use your own media and play a series of videos or music without needing to swap VHS tapes for each episode. Maybe you have a bunch of shows and old commercials in a playlist that you'd like to watch to emulate a TV channel. While this functionality isn't supported in EmuVR, a workaround has been created by a user of the community using the popular media player VLC.

Comparison to Streamlink method above:

  • Harder to setup and use.
  • Streams will start playing as soon as you load VLC, even if you haven't turned on the VCR in EmuVR.
  • Supports less sources than Streamlink].
  • Support playlists.
  • Support local files from your disk, joining them into a single VHS.

Instructions:

  • If you don't already have it, download and install VLC.
  • Create a new .str file in your \Games\Video directory. You can name it whatever you would like, but it must end with .str (be sure to enable file extensions or you might actually end up with an invisible "filename.str.txt")
  • Open this new file with a text editor. Notepad will do.
  • This is where things get tricky. In this file, you need to enter the following: http://127.0.0.1:8080/MYSTREAM.ts. The MYSTREAM can be whatever word you would like, but the rest of the link must match the example given. For these instructions, we will be using the URL http://127.0.0.1:8080/teststream.ts.
  • Scan with Game Scanner as usual, to add the new file to your inventory.
  • Open VLC.
  • If using default hotkeys in VLC, press Control + S. Alternatively, you can open the proper menu via Media -> Stream.
  • In the window that appears, add your media. These can be any format VLC supports.
  • Once you've added some files, click Stream.
  • Click Next. In the Destination Setup Window, click the dropdown that currently says File. Change this to HTTP. Click Add.
  • Leave the port as 8080. Only change this if you know what you're doing or why you're doing it.
  • Set the Path to /MYSTREAM.ts, or whatever you chose in place of MYSTREAM. In this case, we're going to use /teststream.ts.
  • Click Next.
  • Ensure Activate Transcoding is ticked. In the profile box, choose Video - H.264 + MP3 (TS).
  • Choose Next. Then, choose Stream.

NOTE: If you only see one of the files you added in the stream queue, you may have to add all your files to a playlist as you would to normally play them, save the playlist (Ctrl+Y), then use that file in the Stream window instead.

You're done. You should now see the files you chose appear in your VLC playlist, and the timestamp will be moving. You may not see the video actually playing in VLC- this is normal, as long as the timestamp is moving your files are streaming. Open EmuVR and play your new stream VHS. It might take a few seconds to load, but you'll eventually see your video file playing on the TV.

Important Notes

  • This method of streaming is likely not the most efficient, and exists only as a workaround to stream from places where a direct link isn't accessible, like Twitch or Youtube, or to play a large number of media files on one VHS without needing to swap them out.
  • VLC must remain running, and the files must be playing in order for the stream to work. If you attempt to play the stream VHS without VLC running/playing, it will simply turn off without loading anything.
  • If you decide you want to add more files to this playlist, you will need to do so via the Stream menu. Otherwise, VLC will just play the file as a regular file and your console in-game will shut off.
  • You can save the playlist of streaming files with VLC to open it again later without needing to go through all the setup steps again.