youtube-dl command saves as flv and not mp3 - youtube-dl

So below is my command that I am running. It should be converting it to mp3 but it still exports as a video in flv. What am I doing wrong?
$cmd = '/usr/local/bin/youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 -- '.escapeshellarg($url).'';

youtube-dl will download the video before converting it. Most likely, you don't have ffprobe or ffmpeg installed. Make sure both programs are available (i.e. you get a sensible output for ffprobe --help and ffmpeg --help).

You can directly download the .mp3 file from the youtube site.
For e.g in ubuntu terminal youtube-dl youtube.com/watch?v=qn6CMz18lkQ -f 141 .Most probably 141 is the .mp3 file format code for better quality.

Related

gTEHbBBl_dY: YouTube said: Unable to extract video data

I tried getting a simple audio file using this chunk of code off the terminal:
youtube-dl -f bestaudio https://youtu.be/gTEHbBBl_dY
it's the simplest yt-dl formula ever and here's what I got.
[youtube] gTEHbBBl_dY: Downloading webpage
ERROR: gTEHbBBl_dY: YouTube said: Unable to extract video data
so yea...I saw a lot of answers on stack itself but none of them worked for me.
pls help, I'm not a pro yet with homebrew tools.
Extract audio instead of -f to format it to bestaudio
youtube-dl -x

Loseless FFMPEG compression that supports windows media player

I am trying to create a movie file (avi, mp4, etc as long as it support windows media player) from a sequence of png files using ffmpeg.I am using C++ "System("ffmpeg command")" to create the movie files once I create the png files (this shouldn't effect movie creation). I was able to create a .avi file using the following command,
ffmpeg.exe -r 30 -i frame_%7d.png test1.avi
Once you create the file it runs in windows media player but does not run in VLC. I have realized, it does lossy compression and the movie is not that high quality (quality decreases with frame rate). I want to have lossless compression (or no compression at all) but needs to be able to play in windows media player. So I tried the following commands,
ffmpeg.exe -framerate 30 -i frame_%7d.png -codec copy test2.avi
This file ran in VLC but didn't run in windows media player. Then I tried put in "-pix_fmt yuv420p" but still couldn't get it to run in windows media player.
ffmpeg.exe -framerate 30 -pix_fmt yuv420p -i frame_%7d.png -codec copy test2.avi
I have also tried using "ffv1" codec and it ran in VLC but not in windows media player
ffmpeg.exe -i frame_%7d.png -c:v ffv1 -qscale:v 0 test4.avi
So, how do I create a lossless movie file from a sequence of png files using ffmpeg that will run in windows media player?

FFMPEG command for audio file streaming

I am trying to stream an audio file in mp3 format using the FFMPEG library to a remote computer, located on the same LAN as the sender. The command i used to stream at the sender is given below:
ffmpeg -re -f mp3 -i sender.mp3 -ar 8000 -f mulaw -f rtp rtp://10.14.35.23:1234
I got the below command on FFMPEG documentation page that generates audio and streams it to port number 1234 on remote computer
ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -ar 8000 -f mulaw -f rtp rtp://10.14.35.23:1234
I thought i had made relevant changes to this so that the mp3 streaming command will work, but only to know encounter the error which reads
"Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height"
Can anyone tell me what is the wrong parameter here and how to rectify it?
I could figure out the way to stream an audio file using FFMPEG. The command for the same is given below:
ffmpeg -re -f mp3 -i sender.mp3 -acodec libmp3lame -ab 128k -ac 2 -ar 44100 -f rtp rtp://10.14.35.23
Here the audio file 'sender.mp3' is located in the same folder as ffmpeg.exe. In case of a different folder, the full path should be mentioned in the command.

how to convert and play a .h263 file?

I am working on ubuntu. I have a file.h263 and I don't know how to play it. I've tried ffmpeg -f msg0001.h263 -i file.avi but it didn;t work. Need some help please. I want to convert file.h263 in .avi or mp2 in order to play the file in an android phone. Got any advices? It would be best to have a c++ code. but i didn't find any example, nothing at all.
Please help. If you have a piece of code that does this I would appreciate.
Thx
You should be able to play H263 file and convert it to AVI as the following:
ffplay -i file.h263
ffmpeg -i file.h263 file.avi
For android playback you can keep video stream in H.263 and convert the file to 3GPP (.3gp) or MPEG-4 file format or change file format and codec to MPEG-4 and H.264. For example:
ffmpeg -i file.h263 -vcodec copy -f 3gp file-h263.3gp
ffmpeg -i file.h263 -vcodec h264 -f mp4 file-h264.mp4
See Android supported media formats for more information.
.h263 is old yet great format, and if your software player uses HW accelration to play video that majority of old videocards (including Nvidia, ATI) will provide you HW accelration for video playback for .h263 format files... now various use .h264 format... thus try to convert videos to .h264 format instead of avi...
i think what you are facing is a extension delima .... try renaming it to MP4, then various player will play it without problems..
you can also use vlc.. one of the best video players ever...
Beside GStreamer can play H263 files , and with gstreamer pipelines you can convert various format on flies...
though i usually use Handbreak to convert video files /DVD's, and it is available on windows, Mac as well as on linux ....
P.S. in Gstreamer, you might need to install plugins, install all 2... good, bad and ugly plugin. i am not sure in which .h263 comes in, but must be in one of these three......

How to generate a thumbnail of flash movie (.flv)

I'm using ColdFusion and need to generate a thumbnail from a flash movie stored on the server. I have heard of ffMpeg but have no idea how to use it. (Once you put it on your server what's the next step?)
You can use cfexecute to run a command line on the CF server.
Karthik linked a blog post that suggests the following syntax for ffmpeg:
ffmpeg -itsoffset -4 -i test.avi
-vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
So you could do something like this:
<cfexecute
name="c:\pathto\ffmpeg\ffmpeg.exe"
arguments="-itsoffset -4 -i #sourcevideo# -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 #thumbnaildestination" />
I haven't run ffmpeg like this and you'll likely need to experiment with the syntax to get a result you like, but once you do your workflow is pretty straightforward.
You may also run into issues executing fmpeg.exe depending on the user account your ColdFusion server instance is running as.
Documentation of FFMpeg: http://www.ffmpeg.org/documentation.html
You might want to check: http://blog.prashanthellina.com/2008/03/29/creating-video-thumbnails-using-ffmpeg/
http://www.flashcomguru.com/index.cfm/2006/4/25/ffmpegthumbs
with ColdFusion its not possible but check this: http://old.nabble.com/Create-a-thumbnail-image-from-.flv-video-file-once-uploaded-td22683497.html