Embedding custom video is horrible. You have to set all the parameters correct if you want it to work. (See PARAM - Object Parameter for an overview)
I would suggest one of the following approaches:
- Use the HTML5 video tag. Much simpler and works quite well. See HTML5 Video
- Upload your video to YouTube/Vimeo/other service and embed the video from there.
Thank you! The HTML5 video tag does work!
Hi, tagging on to this thread as I had the same problem as OP but the solution isn't quite working for me.
I inserted the HTML5 video tag as follows per the example in Willam's link:
<video width="320" height="240" controls=""> <source src="file.mp4" type="video/mp4">
Your browser does not support the video tag.
The src uses the file name as listed in the baggage files.
The preview works fine, but when I generate I see the frame but "Invalid Source".
I thought it may be because it's a webhelp project, so I tried the HTML5 SSL but got the same issue.
OH, I'm using RH10 but the client will be taking over the project (and purchasing RH2017) after we finalize these updates. Does the embed work properly in the new release?
In your Baggage files, is the video possibly inside a folder? If so, you will need to also include the path.
For example, if you have a folder named "Videos" in your Baggage Files, the code would look like this:
<video width="320" height="240" controls=""> <source src="Videos/file.mp4" type="video/mp4">
No, it's not in a folder.
In the interim I found a post (outside of the Adobe forums) re ensuring MP4 is listed as a MIME type in the IIS. It wasn't, I added it and restarted IIS, but still the same problem whether I generate WebHelp or HTML5.
About the only other thing I can think to suggest is to ensure file names are spot on. If your server is Unix flavor, Video.MP4, VIDEO.mp4, ViDeO.Mp4 and so on are all different file names. So if your code references the file as Video.MP4 but the actual file is video.mp4, it won't work because on a Unix flavor server, those are two distinct file names.
Outside of that, I'm a bit stumped!
I'm guessing you have tested by simply using a link directly to the video file itself?
Yes, a link works. Client seems intent on having video embedded -- I've asked if he would consider the Youtube/Vimeo solution.
I've also found the following thread that may be of use (to link the two threads for posterity).
Is this possibly a link where someone such as myself might be able to "see" it?
My thought is that I could try from my end to see what issues may be erupting to cause the failure. Another thought is to try capturing the full URL of the link and use that in the inline frame coding.
<pause for brief interlude of offline exchange of examples - class, talk amongst yourselves>
Thanks Rick, I appreciate your time. I did notice in the HTML of your example that RH is still adding the Quicktime coding, which was my initial problem that I’m trying to work around.
So here’s a summary of where I'm at:
- The client has now confirmed that they “looked into hosting on YouTube / Vimeo but decided against it because then the videos are public or we have to pay for a corporate Vimeo account.”
- If I embed the video using RH insert, it includes Quicktime coding (per OP) that cannot be removed; this results in users being prompted to install QT. This happens in RH10 as well as RH2017.
- I can embed the video using the HTML5 Video tag, which works in Preview but in generated output the frame includes "Invalid Source". Since Claudia (OP) said that the Video tag worked for her and I have not seen any other reports of "Invalid Source", I am inclined to think this is a separate issue with my local “web server” and have asked the client to test the output on their server to see if they get the same problem.
- Links to the file, whether to a Baggage file or to a hosted video, both work fine. This was the client's initial preference, but then they seemed to prefer an embedded solution. I've presented them with the issues and am waiting for their decision.
One question - assuming the "Invalid Source" is indeed an anomaly and we can proceed with the Video tag: I understand the Video tag is an HTML5 tag. Since it worked in Preview mode, should I expect that it would also work in WebHelp output, or will it only work in HTML5 output?
There are a number of things that either won't work at all or will work differently in the RoboHelp editor and/or the preview.
I'd suggest just producing an output and testing to see.
As for the YouTube stuff, surely folks are aware that it's possible to have YouTube videos that aren't public, but are classified as "unlisted". Meaning that only if you have the URL directly to the video are you able to watch it.
We just solved the mystery.
The original filename as added as a Baggage file includes two spaces. In the generated output, they were converted to underscores. The link reference worked because it was done by Robohelp.
The embedded one didn’t work because it was inserted manually, and still included the reference to the original filename. Once I fixed the <video> code to reflect the “fixed” filename, the embedded video works in the output.
Sheesh, much ado about something so simple.
Apologies for wasting your time. Although I am thankful for the info about unlisted Youtube videos, I didn't know that (never having done anything with Youtube than watch cat videos, lol). I'll pass that along to the client as a future/FYI.
Yay! Glad you managed to sort it.
And I do believe I mentioned the file name thing way earlier in the thread in my second reply. (although, I didn't specifically mention spaces. I really need to be a better communicator! LOL)
Yes, you did mention the filenames, but in the context of Unix which didn't apply. In any case, I was careful to copy the filename in the html from the working link to the video tag src to make sure they were the same, particularly because the name was long and had a mix of underscores and spaces. I didn't anticipate that the generation process would rename the file used in the link, so the output html would be different from the source.
Back from a two-week vacation to find the project that was working when I handed it off to the client is now not working consistently. They reported that the issue mostly seems to be confined to Win7/IE11 combination, although that's what I use and it worked fine for me, and they initially reported that it worked for them when we were figuring this all out.
- A side problem that has no bearing on the ultimate problem - I found that the RH10 to RH2017 conversion jettisoned the manual HTML coding I inserted to embed the videos; so I copied it over from the RH10 version.
Random results reported by client, not consistent across any browser:
- Win 10 - the player loads then closes the help window.
- Chrome - playback controls appear but content not loaded
- Inside the network - the last video works in Chrome but none of the others do; in IE get "your browser does not support the video tag".
- Outside the network - Chrome – no videos work; Edge – all videos work except one (get a video can’t be decoded message)
For me, earlier this morning the videos in the 2017 output as well as the (previously working) RH10 output didn't work in Win7/IE11. But then I tried again a few hours later and they both worked.
While I try to sleuth this out, I need to better understand the Captivate component. The client created the videos and provided me with the MP4s to embed. In RH10 I added them to the Baggage Files and referenced them with manual HTML coding as earlier in this thread.
Should I instead redo it in RH2017 (which they will be using)? Do I need to insert the captivate project and/or SWF file? I saw references to these but am not clear on the purpose of doing that over inserting Captivate's MP4 output.
Wow... lots of stuff to digest there.
Okay, treading carefully here.
As for what exactly is used to present a video, I believe that's largely up to the operating system and how it's been configured. I'm unaware of any way to instruct RoboHelp as to what (if any) player should be used. To the best of my knowledge, the operating system governs what is used to present a file type if you just double-click it. And I'm assuming that a standard hyperlink or an embedded video would behave the same way. So who knows, perhaps someone else will pop in after my reply here to say something like: Well, ALL you have to do is insert THIS piece of code to influence...
Other things to consider. Watch file names carefully. Perhaps the video is MyVideo.mp4 but on the server it's myvideo.mp4. That could cause a mismatch and the video won't play.
You may need to ask the web peeps to examine something known as a "MIME" type. Sometimes servers need to be tweaked so as to allow serving the video content.
As for Captivate, you do NOT need the captivate project file in any way. All you need is the output. And that output from Captivate will either exist as one or more files in a SWF format (along with some ancillary files) or a collection of folders and files that are used in the event you want to use the HTML 5 output.
Depending on what you are doing, you may be just wasting effort with custom HTML coding to work with the video content. Note that RoboHelp 2015 and 2017 are much improved with respect to the way video is handled.
If you have a Captivate SWF file, it may offer buttons and actions that are performed by clicking the buttons. That's known as an interactive Captivate output. And those features work in both SWF as well as HTML 5 outputs. But if you create a video of the same content, there can be no interactivity with the video output. It will just play.
Hopefully I've provided enough to give you some solid clues as to where to begin looking.
Yes I break things easily.
It’s weird because even on my computer, most of the videos work but a couple just show a black box with the playback controls but nothing works. The filenames referenced in the HTML match the files in the output folder exactly.
I did mention to them to make sure the IIS has the MIME type set for MP4. Judging by some of the questions I’ve had from them though, I can’t be confident that they’ve actually done that. I sent them a few links to look at while I was away on vacation, and was just about to nudge them to confirm that they did indeed try them all.
I had to go the custom HTML route to use the <video> tag because inserting the video the “proper” way in RH results in QuickTime coding and prompts to install QuickTime (per OP).
Re Captivate output - how does the MP4 output fit with the SWF/HTML5 output?
Just to close the loop in the off-chance anyone comes across this thread...
We gave up on embedded videos. I told the client they'd have to try one of the recommended avenues of linking to hosted videos (which worked but then they had other issues at their end) or embedding via Youtube. They chose Youtube and inserted the embed codes into the project themselves. They then reported that they had the same problem - the videos play in Windows 10 but not in Windows 7. I was leaning towards the MP4 files themselves possibly being the culprit; they found and tried Insert Captivate and inserted the SWF and HTML 5 files (rather than Insert Multimedia and inserting the MP4 files). Last I heard this was working for them in all OS.
Thanks for your attempts to help, Rick
Thanks for the follow up. That will likely help others down the line.
Although, it's really frustrating to not have a single, definitive, AHA! Here is the single piece of code or whatever that is foolproof and works every time.
Just the nature of our world today, eh?
Thanks again... Rick