How to know active audio device for sox in windows - windows

I'm trying to stream sound from my soundcard using sox's default audio device and dump it as a raw file. Unfortunately no sound is being detected.
Sox always use this as input and I think it's for linux.(correct me if i'm wrong but it doesn't really emit any sound in windows)
'/dev/dsp' (ossdsp)

In WinXP, I downloaded SoX 14.3.0 from here, and from a command prompt I can do:
sox -d recfile.wav
which records from the soundcard. Where do you see SoX trying to use /dev/dsp?

sox -d -t wav - | lame - o.mp3
Just make sure the default audio in is wave out mix which can be set in sounds control panel.

Related

ffmpeg framemd5 errors with FFV1.mkv in Windows

I'm using framemd5 to check lossless transcoding to FFV1.mkv and am getting mismatches between my source and FFV1 files.
If I generate the framemd5 files in Windows, I get presentation timestamp mismatches on the audio between the source file and FFV1. The MD5s themselves match.
If I generate the framemd5 files for the FFV1 in Linux (WSL), everything matches just fine.
Is there something I am doing wrong, or is this just a quirk of the ffmpeg/FFV1/Windows combination?
I am using ffmpeg version 2022-07-14-git-882aac99d2-full_build-www.gyan.dev in Windows and
ffmpeg version 4.4.2-0ubuntu1~20.04.sav2 in WSL.
Many thanks!
Jim

Dumped video stream often not readable in VLC

I have two IP Cameras, and I'm regularly collecting the dumped video stream in a file. Every 30 minutes I kill down the running processes, and restart dumping, using the "mplayer" command in background to generate a .mp4 file.
Basically I'm running something like this:
killall mplayer
mplayer -dumpstream rtsp://cam01:554/video.mp4 -dumpfile cam01.mp4 & bg
mplayer -dumpstream rtsp://cam02:554/video.mp4 -dumpfile cam02.mp4 & bg
Then I store all the resulting .mp4 files for future checks.
Now there is the problem: many files are perfectly readable (using VLC) and many files aren't (I'm just able to open "unreadable" files using the "ffplay" utility).
However, as I'm using a VLC app in a smart TV to open them, I'd like to be able to open all files in VLC. Could you please give me some advice?

Convert mp4 from color to black-and-white with linux terminal

I have an mp4 which I want to convert from color to black and white using the terminal.
How?
EDIT: My question is NOT a duplicate because I want to do this with an mp4 (video, not image).
If you install ffmpeg (cross-platform video converter), you can do it with a one line command by filtering the saturation to 0.
ffmpeg -i <inputfile> -vf hue=s=0 -acodec copy <outputfile>
Maybe overkill but GStreamer could probably achieve that. It's mainly for streaming media but you can use it to manipulate local files also.
https://gstreamer.freedesktop.org/
It can either be executed as a command taking your mp4 as argument along with a long series of other arguments directly from the terminal or the framework can be imported in a project. Takes some time to get the hang of it tho and it's probably an easier way.

MIDI to MP3 from terminal: Accessing channel volume

I'm writing a bash script that will be used to go through a ton of midi files and convert them into MP3s. Right now, I'm using timidity and lame for this, which works great:
timidity myMidiFile.midi -Ow -o - | lame - audioOutput.mp3"
However, I would like to have access to the different midi channels so that I can choose to lower or raise the volume on them individually. I've been looking through the timidity manual without really finding any solution.
Can this be done via timidity or do I have to transition to some other program?

How to stream all videos in a folder?

Hi i want to stream videos over web using ffserver. i got this link as reference.
Now what i am not able to figure out is how to pass a folder(which content all videos i want to stream) as input to stream all videos. I also want add more videos dynamically to this folder in time to time and streaming should happen(like how it works in Darwin). now i can't use Darwin because it doesn't support for iOS.
please give me a suggestion.
is there any other open source tool by which i can do this?
I wrote a bash script for this, it's working in ubuntu 16
Hopefully someone else can write it up in a less terrible language
Here's the script:
echo -e "HTTPPort 8090\nHTTPBindAddress 0.0.0.0\nMaxHTTPConnections 2000\nMaxClients 1000\nMaxBandwidth 1000\nCustomLog -\n<Stream stat.html>\nFormat status\n</Stream>"
num=1
for i in *.mp3; do
echo -e "<Stream \"$(urlencode $i)\">\nFile \"$(pwd)/$i\"\nFormat mp2\nAudioCodec libmp3lame\nAudioBitRate 64\nAudioChannels 1\nAudioSampleRate 44100\nNoVideo\n</Stream>"
done
save this as a bash script in the folder you want to serve, I'll refer to it as:
./gen_ffserver_conf.sh
it's hard coded for mp3, you'd have to sort through my echos to get it to do another format.
run the server with:
ffserver -f <(bash -e ./gen_ffserver_conf.sh)
I had to install a package for the url encoding:
sudo apt install gridsite-clients
(and of course you need ffserver as well, in the ffmpeg package)
I stream the files by going to:
http://<ip address of streaming server>:8090/stat.html
and clicking on the urlencoded values, (using chromium). This will open the stream and start playing.
Explanation:
ffserver doesn't like wildcards, or at least I never figured that out, so I'm just creating an entry for each file in the server. The urlencoding is annoying but necessary for the stat page links to work properly.

Resources