logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Braindead  
#1 Posted : Monday, January 9, 2017 4:57:09 PM(UTC)
Braindead

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???
DWAM  
#2 Posted : Monday, January 9, 2017 5:38:08 PM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 794 time(s) in 589 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.
thanks 2 users thanked DWAM for this useful post.
Braindead on 1/10/2017(UTC), Zetor1980 on 8/23/2017(UTC)
Braindead  
#3 Posted : Tuesday, January 10, 2017 2:03:31 PM(UTC)
Braindead

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.
DWAM  
#4 Posted : Tuesday, January 10, 2017 3:20:46 PM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 794 time(s) in 589 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 !
thanks 2 users thanked DWAM for this useful post.
rickb on 8/23/2017(UTC), RobLambert on 8/23/2017(UTC)
Braindead  
#5 Posted : Tuesday, January 10, 2017 3:33:28 PM(UTC)
Braindead

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)!
DWAM  
#6 Posted : Tuesday, January 10, 2017 3:46:20 PM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 794 time(s) in 589 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!
Braindead  
#7 Posted : Tuesday, January 10, 2017 4:48:47 PM(UTC)
Braindead

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!
rickb  
#8 Posted : Wednesday, August 23, 2017 1:26:44 PM(UTC)
rickb

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.
RobLambert  
#9 Posted : Wednesday, August 23, 2017 1:45:37 PM(UTC)
RobLambert

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
rickb  
#10 Posted : Wednesday, August 23, 2017 10:14:51 PM(UTC)
rickb

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.
rickb  
#11 Posted : Wednesday, August 23, 2017 10:30:46 PM(UTC)
rickb

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...

Users browsing this topic
Guest
Similar Topics
Windows 10 - MPEG2 Recording options (General Discussion)
by jpeg2RAW 8/10/2015 4:04:39 PM(UTC)
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.