Rank: Advanced Member
Groups: Registered
Joined: 5/9/2016(UTC) Posts: 37 Location: Atlanta, GA
Thanks: 2 times
|
Is it possible to record to an internal hard drive and export to a flash drive at the same time???
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,719   Location: Bordeaux, France Thanks: 243 times Was thanked: 796 time(s) in 590 post(s)
|
afaik not directly within vMix but you can use the external output to feed another recorder like VLC or FFMPEG. An easy solution is to adapt the commandline for FFMPEG that vMix uses for its main recording function.
|
 2 users thanked DWAM for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 5/9/2016(UTC) Posts: 37 Location: Atlanta, GA
Thanks: 2 times
|
DWAM wrote:afaik not directly within vMix but you can use the external output to feed another recorder like VLC or FFMPEG. An easy solution is to adapt the commandline for FFMPEG that vMix uses for its main recording function. Thanks! I just downloaded FFMPEG for Dummies.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,719   Location: Bordeaux, France Thanks: 243 times Was thanked: 796 time(s) in 590 post(s)
|
Here's an easy way to do it
- setup a regular recording in vMix using FFMPEG (for example with Indexed MP4 NVENC AAC which uses GPU) - using this preset, record something during few seconds - go to your recording folder, you should find your record and its log file
- open this log file, you will see sthg like :
ffmpeg started on 2017-01-09 at 19:11:52 Report written to "E:\vMixStorage\capture-20170109-19-11-52.mp4.log" Command line: "C:\\Program Files (x86)\\vMix\\streaming\\ffmpeg.exe" -report -y -f asf -i "\\\\.\\pipe\\dd7f8abb-a490-4440-a8ad-256cd01549ea" -r 25 -vcodec nvenc -pix_fmt:v yuv420p -preset:v llhq -b:v 8M -acodec libfaac -b:a 192k -f mp4 "E:\\vMixStorage\\capture-20170109-19-11-52.mp4" ffmpeg version 2.8.git Copyright (c) 2000-2015 the FFmpeg developers ...
You now have a model to write your own command line where YOU MUST CHANGE at least - the device to use (here '-f asf' to be replaced by '-f dshow') - the input parameter (here '-i with a pipe' to be replaced by vMix virtual devices) - the output parameter (the name and location for the recording)
On your desktop, create a new TXT file, rename it to "MyRecorder.cmd" for instance Right-click on it > edit and write on the first line @echo off then copy and paste the FFMPEG command line you found previously
for the device parameter use dshow instead of asf for selecting the right inputs use -i video="vMix Video":audio="vMix Audio" and finally indicate name and location for the file to record (You may also need to specify a value for RealTimeBuffering: -rtbuffsize)
Your script file should be sthg like:
@echo off
"C:\\Program Files (x86)\\vMix\\streaming\\ffmpeg.exe" -report -y -f dshow -i video="vMix Video":audio="vMix Audio" -r 25 -vcodec nvenc -pix_fmt:v yuv420p -preset:v llhq -b:v 8M -acodec libfaac -b:a 192k -f mp4 "DRIVE:\\FOLDER\\my-2nd-rec.mp4"
Save this file.
Launch vMix, set and activate the EXTERNAL output and send some signal to PROGRAM Double-click your new script MyRecorder.cmd To stop it press Ctrl+C then Yes
For more information : https://trac.ffmpeg.org/wiki/DirectShow https://trac.ffmpeg.org/wiki/StreamingGuide
That's it ! Have fun !
|
 2 users thanked DWAM for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 5/9/2016(UTC) Posts: 37 Location: Atlanta, GA
Thanks: 2 times
|
"Have fun" my butt! My user name says it all: "Braindead". I don't know if I have that many brain cells left that are still connecting. I will try it but tomorrow I will probably wake up and not remember who I am. I will report.
Many thanks(I think)!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,719   Location: Bordeaux, France Thanks: 243 times Was thanked: 796 time(s) in 590 post(s)
|
Take it easy, it's not that difficult... ;o)
You only have to change few things (the encoder maybe, but vMix does most of it)
Another solution is to use Free NDI IsoRecorder... but the resulting record will not be as easy to use (not MP4) and certainly too big for a flash drive http://www.newtek.com/ndi/applications
The easiest solution is to copy your recording on your flash drive AFTER the session. It should't be that long!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 5/9/2016(UTC) Posts: 37 Location: Atlanta, GA
Thanks: 2 times
|
DWAM wrote:Take it easy, it's not that difficult... ;o)
You only have to change few things (the encoder maybe, but vMix does most of it)
Another solution is to use Free NDI IsoRecorder... but the resulting record will not be as easy to use (not MP4) and certainly too big for a flash drive http://www.newtek.com/ndi/applications
The easiest solution is to copy your recording on your flash drive AFTER the session. It should't be that long! I am already trying to work with FFMPEG but after rethinking my needs, I might have a solution. Thanks!
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 8/20/2016(UTC) Posts: 6
Thanks: 5 times Was thanked: 2 time(s) in 2 post(s)
|
Merci, Guillaume / DWAM for sharing your knowledge and experience.
TL;DR: Can the ffmpegformats.xml <command> include shell commands?
- - -
We are trying to generate h264 MOV recordings with a timecode track, using FFMPEG. We are also trying to use Intel's QuickSync hardware acceleration for the encoding.
I can do both using an external installation of FFMPEG to record the External output of vMix. But doing so makes it harder on the vMix operator to start and stop recording, and we lose timestamped filenames.
I can edit ffmpegformats.xml (thanks v_user) to generate a timecode track: "-timecode 01:02:03:00" and it works in vMix. However, I'm struggling to specify the start time in the timecode track as the system clock time at the start of the recording.
(side note: we use vMix to record video from a research camera, so the timecode track is tied to the PC system clock, which is GPS-synced to UTC)
For external FFMPEG batch files I can use shell commands to generate a text string with the current time, e.g. %time:~8% (Win8) or GET-DATE -Format HH:mm:ss:00 (Win10). But I have not been able to get shell commands to work from the ffmpegformats.xml <command>. I may not be escaping sufficiently.
My next test will replacing the vMix FFMPEG binary with a newer build and trying to use the QuickSync codec h264_qsv.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 6/2/2017(UTC) Posts: 86 Location: Belize
Thanks: 99 times Was thanked: 5 time(s) in 5 post(s)
|
Holy Cow
Is there a book or a course i could take to even learn the vocabulary? I am with braindead; but, would sure like to study up if this is possible.
Any resource will be studied!
Thanks all,
Rob
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 8/20/2016(UTC) Posts: 6
Thanks: 5 times Was thanked: 2 time(s) in 2 post(s)
|
> a book or a course i could take to even learn the vocabulary? Depends on what you want to learn and how much time you have. FFMPEG is software with many features, but no user interface, so using it typically involves being comfortable with command line operations and many of the details of video and audio formats. vMix (and many other video applications) may use FFMPEG 'under the hood'; naturally, altering the FFMPEG configuration might lead to issues. ffmpeg.org is the official home for the project and the definitive starting point for code, documentation, resources, and community support. Here is a list of FFMPEG tutorials I just found - not sure of their quality or status.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 8/20/2016(UTC) Posts: 6
Thanks: 5 times Was thanked: 2 time(s) in 2 post(s)
|
> My next test will replacing the vMix FFmpeg binary with a newer build and trying to use the Quick Sync codec h264_qsv.
I was able to test the most recent FFMPEG build for Windows from Zeranoe, 3.3.3, with Intel's Quick Sync hardware accelerated encoding. I haven't done a full evaluation, just a quick check to confirm functionality.
Hardware: Intel NUC6i7KYK Skull Canyon GPU: integrated Iris Pro Graphics 580 vcodec: h264_qsv acodec: aac (libfaac is not included in Zeranoe) format: MOV bitrate: 50M storage: SSD resolution: 1080p30
Overall CPU load as reported by vMix stayed below 30%, but some of that is used elsewhere. I plan more testing to see how the CPU load varies under different FFmpeg presets and perhaps with multicording.
I'm using a GigE camera, so no SDI capture. The timecode track that I need is there, but I'm still working on having FFmpeg accept a command to set the timecode start time to the current system time.
Hmm. I wonder if vMix has a variable I can reference...
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close