Newest 'ffmpeg' Questions - Stack Overflowhttp://stackoverflow.com/questions/tagged/ffmpeg
- 23:48I have a CENTOS and i installed ffmpeg with: yum install ffmpeg command I'm trying to converting a video with the following command: ffmpeg -y -i "C:\\home\\app\\cedoc\\convert\\TREINO_PSC_ACD_PR_02_09_14_IMAGEM_GOROTO_PRESO.MXF" -crf 18.0 -vcodec libx264 -filter:v scale=1920:1080 -preset veryslow -acodec libvo_aacenc -ar 48000 -b:a 192k -coder 1 -flags +loop -cmp chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method hex -subq 6 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -threads 0 (...)
- 23:25I've downloaded the latest version of FFMPEG dev libraries, which include all the .libs etc I've created an MFC dialogue application in visual studio 2008 and setup all the dependencies as per Use FFmpeg in Visual Studio. However, I'm getting the lnk2019 issue, unresolved external symbol _avcodec_register_all referenced in funtion... I included the extern C at the top of my programme and setup the additional included directories... Can anyone help please? (...)
- 21:41The command below is to convert from mp4 file to jpg file with the same file name in the same directory, .../httpdocs/save/. [rootⓐserver-xxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En "s/.mp4$/.jpg/p"`; done Now, I'd like to convert from, .../httpdocs/save/ to the different directory, .../httpdocs/file/, how should I change the command above? I'd appreciate if anyone could help me out. ffmpeg version (...)
- 21:40I need to add gif creation to an Android application. The FFmpeg library, as it stands, is too big for my needs. Which parts (directories) of the library source code do I need to compile with NDK for my application? cmake_minimum_required(VERSION 3.4.1) add_library( # Name of the library ffmpeg # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). src/main/cpp/ffmpeg )
- 20:37Is there a way to do this without recoding the whole video? I need that for timelapse videos: for now I have a set of jpeg images which can be converted to a Video: ffmpeg -framerate 30 -pattern_type glob -i './fotos/*.jpg' -c:v libx264 -pix_fmt yuv420p out.mp4 All the images do take much more disk space as the mp4 video. My best solution for this is to create a video for every 300 images and concat it with previous result video. But this operation take too much ressources (ram, processor, etc) and is not doable on my Raspberry PI zero (...)
- 20:06This question already has an answer here: FFmpeg destroys my Images 2 answers I want to create a video file that is made from all of my Images. I have found my command to do so ffmpeg -framerate 25 -i *.jpg -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4 but I have a really large collection of images so the terminal is hitting me with "bash: /usr/bin/ffmpeg: Argument list too long" . How can I bypass this?
- 20:03Rightnow iam trying to render a Video reading my image Folder with about 83 Images. Iam using this FFMPEG Snip: ffmpeg -f image2 -i images/*.jpg -b 450k -r 30 zoom100.avi 2>&1 But iam really frustrated, FFMPEG always replace all my Images with the first Image. And The video it also creates me is about 2 Frames long Here the FFMPEF Feedback ffmpeg version 0.8.17-4:0.8.17-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers built on Mar 16 2015 13:26:50 with gcc 4.6.3 The ffmpeg program is only provided for script compatibility and will be removed in a future release. It has (...)
- 18:56How can I extract audio track from a video without using ffmpeg or similar programs? I have no permission to run command with exec, because it's just a hosting, not a vps. I think that it should be possible with only php because the audio track is inside the video track, so I just need to find, and split it. How can I do it with just php without external programs? Thanks
- 16:28I am currently attempting to undergo lossless compression of RGB24 files using H264 on FFMPEG. However, the color space transformation used in the H264 compression (RGB24 -> YUV444) has proven to be lossy (I'm guessing due to quantisation error). Is there anything else I can use (eg a program) to transform my RGB24 files to YUV losslessly, before compressing them with lossless H264? The ultimate goal is to compress an RGB24 file then decompress it, with the decompressed file exactly matching the original file. eg RGB24 -> YUV444 -> compressed YUV44 -> decompressed YUV444 -> RGB24. Is (...)
- 13:29I'm using an IP camera to capture video and using OpenCV in C++ to detect face in it. The hardware i'm using to run this process does not consists of video output port so I have to stream the processed frames to an output video stream and I can't seem to find any way to do so. Can you help me out with that?
- 11:39I'm trying to concatenate two mp4 files using ffmpeg. I need this to be an automatic process hence why I chose ffmpeg. I'm converting the two files into .ts files and then concatenating them and then trying to encode that concated .ts file. The files are h264 and aac encoded and I'm hoping to keep the quality the same or as close to original as possible. ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts cat part1.ts part2.ts > parts.ts ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab (...)
- 10:10I'm using an IP camera to capture video and using OpenCV in C++ to detect face in it. The hardware i'm using to run this process does not consists of video output port so I have to stream the processed frames to an output video stream and I can't seem to find any way to do so. Can you help me out with that?
- 06:42OS:Windows 2012 R2 CPU:E5-2670V3 *2 Memory:128GB I use bat open 4 ffmpeg.But 4 ffmpeg run at same CPU.CPU usage only 50%. I try to use '-threads 48' But not work.
- 05:30I have streaming an mp3 file, from my server, while that's not fully downloaded for the server. The client detects just the already downloaded audio length. How can I show the original length, if I know that? Can I write it as id3 tag, for example? Server: Debian, Lighttpd, Ffmpeg, bash cgi
- 03:59I am developing a PHP script that obtains video download links from YouTube. The ones I am grabbing are MP4 (720p) and MP4 (360p) (no-DASH format). My script is similar to this PHP class: https://github.com/Athlon1600/youtube-downloader It allows me to download any YouTube video that I want, no matter if it has copyright or not. It handles everything with signature ciphering and deciphering included. However, apart from videos, I would like to obtain audio download links from YouTube videos as well, either in MP3 or M4A. (M4A files are provided by YouTube, but they are in DASH format, (...) -- https://github.com/Athlon1600/youtube-downloader
- 01:06I downloaded some songs coded with FLAC, and Audacity could remove the vocals quite well. When I downloaded songs coded with ALAC, I must use ffmpeg to convert them to some other forms because Audacity didn't recognise .m4a files. I used the command ffmpeg -i "song 01.m4a" -f flac "song 01.flac". Now Audacity could load the song, but its vocal removal failed to remove the vocals. I tried again with this command in order to be precise, ffmpeg -i "song 01.m4a" -af "pan=stereo|c0=c0|c1=c1" -f flac "song 01.flac", and vocal removal did not work either. I tried to do it manually by (...)
Newest 'ffmpeg' Questions - Stack Overflowhttp://stackoverflow.com/questions/tagged/ffmpeg
- 18:37I try to parse WMV (ASF) files without any SDK, just by decoding raw bytes. Now I have problem with ASF_Data_Object, where I can't find length of data packet. More precise, Single payload data packet. See image: Here I have 9 packets, but unable to find size of individual packet. How I can determine border between packets? I think, my problem at byte 0x411, where field "Length type flags". As you can see, here 0 value, so all flags are zero. Even Packet Length Type. Yes, 0 value here allowed here. But how to read this type of content? This is now compressed payload, as replication (...) -- , , , https://files.catbox.moe/b51l2j.wmv
- 17:43I can convert from mp4 file to jpg file manually one by one with the below command on centOS 6 environment. Now, could anyone help me out how to set up a cron for any mp4 file in the directory to be converted automatically to jpg file with the same file name as mp4 file such as 03052022_5a9d28723d2da.jpg for the below environment? OS：centos-6 (x86_64) ffmpeg version 2.2.2 Plesk 17.0.17 [rootⓐserver-xxxxxxxx-x ~]# ffmpeg -i \\ /var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.mp4 \\ /var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.jpg With 's/.conf$/.jpg/p': (...)
- 16:10So I'm working on a speech to text project using Python and Google Cloud Services (for phone calls). The mp3s I receive have one voice playing in the left speaker, the other voice in the right speaker. So during testing, I manually split the original mp3 file into two WAV files (one for each channel, converted to mono). I did this splitting through Audacity. The accuracy was about 80-90%, which was perfect for my purposes. However, once I tried to automate the splitting using ffmpeg (more specifically: ffmpeg -i input_filename.mp3 -map_channel 0.0.0 left.wav -map_channel 0.0.1 (...)
- 14:11I use ffmpeg H264 encoding, and then output the RTSP flow. When I initialize, I encounter some problems. When I open the output address through the avio_open2 function, I return the error -1330794744, which is invalid agreement. Where am I set the error? av_register_all(); avformat_network_init(); avformat_alloc_output_context2(&ofmt_ctx, NULL, "rtsp", rtsp_url); if (!ofmt_ctx) printf("Could not deduce output format from file extension: using MPEG.\\n"); avformat_alloc_output_context2(&ofmt_ctx, NULL, "mpeg", rtsp_url); if (!ofmt_ctx) return; this->out_fmt = ofmt_ctx->oformat; if (...)
- 11:22I have about anywhere from 10-24 mp4 files that are about 1 hour in length each and when I try to concatenate them into one I am only left with a 1 hour output.mp4 where its only content is of that of the first 1 hour video I fed in with the audio completely choppy. Has anyone tried to run ffmpeg to form a very large video file? This is one of the ffmpeg commands I ran ffmpeg -f concat -safe 0 -i videos.txt -an -filter:v "setpts=0.01*PTS" total_output.mkv
- 11:21The goal is to stream an analysed live video over RTSP to some media server. To make the edits/analysis I use opencv, save the edited frames as JPEG in an FFMPEG image pipe and use the same FFMPEG to create a RTSP stream. Sorry if the terminology is not that accurate, I find it still quite confusing. I have the following code after quite some struggle: import cv2 from subprocess import Popen, PIPE from PIL import Image # open pipe p = Popen('ffmpeg -y -f image2pipe -vcodec mjpeg -r 24 -i - -vcodec h264 -f rtsp -rtsp_transport tcp rtsp://localhost:8081/test.sdp', stdin=PIPE) video = (...)
- 11:28I am not able to draw a text with fluent-ffmpeg that contains a single quote. command.videoFilters( filter: 'drawtext', options: text: 'I\\'m here' ); but the single quote is omitted, the written text is "Im here".
- 11:23The PHP file should execute FFmpeg command after this command finished it should take data into the database. However, I found that the exec($command--FFmpeg) has been completed and it run pretty well but the data is not in the database. I have set php.ini ignore_user_abort = On It could run the PHP process in the background my could is as follows set_time_limit(0); $tumbfileName = time(); $filepath = dirname(dirname(dirname(__FILE__))) . "/files/video/"; $cmd = 'ffmpeg -i ' . dirname(dirname(dirname(__FILE__))).$content . ' -c:v libx264 -strict -2 ' . $filepath . "post_" . (...)
- 09:57I'm working on a ffmpeg script to draw text over image/video. The text will be wrapped inside a box with full width and dynamic height. I have tried two approach to achieve this. 1. using drawbox ffmpeg \\ -loop 1 -i /path_to_file/file.jpg \\ -t 5 -vf "scale=320:320,\\ drawbox=y=0\\ :color=#00FF29\\ :width=iw\\ :height=72\\ :t=max,\\ drawtext=text=TBE\\ :fontcolor=#F71DFF\\ :fontsize=82:x=(w-text_w)/2\\ :y=text_h/2" /path_to_file/new_file.mp4 -y Which renders following three examples with different value of fontsize 2. using box of drawtext ffmpeg -i in3.png -t 5 -vf drawtext=" \\ text='Stack (...) -- ,
- 09:22I recently updated my matplotlib python package to version 2.2.0, and now some previously working code to save an animation does not work. Instead of saving an animation, the code freezes at a certain iteration number. It becomes unresponsive to interrupts and throws a PyEval_RestoreThread fatal error when I manage to close the command window. I am using Enthought Canopy. The code still works as normal with other versions of python and matplotlib. I can replicate the problem with this: import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np SIZE = 128 (...)
- 08:35i am using laravel 5.6, i will try to make function multiple upload video, and get frame and duration with laravel-ffmpeg, but when i try to upload one video for example, always show error like "File not found at path:", this is my function to store video and get duration & frame : public function doCreate($lessonsid) if (empty(Session::get('contribID'))) return redirect('contributor/login'); # code... // validate // read more on validation at http://laravel.com/docs/validation $rules = array( 'judul' => 'required', // 'video.*' => 'mimes:mp4,mov,ogg,webm |required|max:100000', // (...) --
- 08:30I have a MKV video consist of a video and an audio of duration 10 minutes, after using ffmpeg to extract ac3 to aac audio, its duration became 10:50, which lead to audio out of sync with the video after packaging the new extracted audio to mp4 container using mp4box. how to solve the problem of syncing or as i knew, the delay that happen with aac encoding ? commands: ffmpeg -i "d:/input.mkv" -vn -c:a aac "d:/audio.aac" MP4Box -add "C:/1280x720.264" -fps "23.976023976024" -add (...)
- 07:06I am trying to install ffmpeg to elastic beanstalk, I have created config file with below commands- packages: yum: ImageMagick:  ImageMagick-devel:  commands: 01-wget: command: "wget -O /tmp/ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz" 02-mkdir: command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi" 02-tar: command: "tar xvf /tmp/ffmpeg.tar.xz -C /opt/ffmpeg" 04-ln: command: "if ; then ln -sf /opt/ffmpeg/ffmpeg-3.4-64bit-static/ffmpeg /usr/bin/ffmpeg; fi" 05-ln: command: "if ; then ln -sf (...)
- 05:00I'm trying to extract every 30th frame from a video and add text to it, and output as a jpg. Here's the code I'm using: ffmpeg -i test.mp4 -vf "select=not(mod(n\\,30)), drawtext=fontfile='C\\:\\\\Windows\\\\Fonts\\\\arial.ttf:text='test':fontcolor=white:fontsize=45:x=(main_w/2-text_w/2):y=1800:" -vsync vfr -q:v 2 img_%03d.jpg The first frame selected outputs as img_batch3d.jpg, then this is the error message I get: [image2 ⓐ 00000146e59d0500] Could not get frame filename number 2 from pattern 'img_batch3d.jpg' (either set update or use a pattern like %03d within the filename pattern) (...)
- 02:14I have created a discord bot that on certain messages either sends back a message or plays a sound (like a soundboard) The crucial line of code is: soundboard_player = voice_client.create_ffmpeg_player("doh.mp3") soundboard_player.start() await client.send_message(message.channel, "Playing DOH...") This works absolutely fine but i kept trying to add the line after=voice_client.disconnect() I put this inside the ("doh.mp3", * I PUT IT HERE *) brackets. I wanted the bot to leave after it was done. When I run the code with the 'after' statement included, the bot joins and I get the error (...)
- 00:12How can I extract frame-accurate video or audio fragments using FFMPEG without transcoding the full portion? ffmpeg -i input.mp4 -ss 00:00:01.234 -to 00:00:05.678 output.mp4 works because it re-encodes... If I use -codec: copy then it disregards the precision of my start and end time arguments and instead uses the closest keyframe (I understand). Is there a command or combination of commands to instruct FFMPEG to transcode only what's needed, the bits near the start/end markers, up to keyframes? EDIT: A bit of context... I'm trying to write this function to process video piped from (...)
Newest 'ffmpeg' Questions - Stack Overflowhttp://stackoverflow.com/questions/tagged/ffmpeg
- 21:31We are calling ffpmeg 2.6.8 through Java to convert different video formats to MP4. Is there a way to detect that the resulting MP4 video will be unplayable? We've explored: stderr. Unfortunately ffmpeg is writing all diagnostic information to stderr. -xerror. I tried it on a file and it stopped converting, but when I tried without this switch, it converted and I could play the resulting MP4 file. exit code. From reading various forums, it sounds like 0 is success, 1 is error, and there are other codes, but that this isn't completely reliable (we could get an exit code of 0 and video (...)
- 21:11I have an nginx rtmp server loaded with this docker image: https://github.com/DvdGiessen/nginx-rtmp-docker. In general I can stream to it fine with ffmpeg and most of the time connect to the stream fine as well with ffplay. However, for some people, they are unable to subscribe to the RTMP stream at all. ffmpeg hosts with this command: ffmpeg.exe -f,gdigrab,-framerate,20,-draw_mouse,1,-i,desktop,-c:v,h264_nvenc,-profile:v,main,-delay,0,-preset,default,-rc,vbr,-cq,36,-vf,scale=1024:-2,format=yuv420p,-r,20,-g,40,-y,-f,flv,rtmp://url ffplay subscribes with this command: ffplay.exe (...) -- https://github.com/DvdGiessen/nginx-rtmp-docker, https://github.com/arut/nginx-rtmp-module/issues/1039
- 18:43What i am trying to do is convert video into mp4 format that will play in Android. I've gone through http://developer.android.com/guide/appendix/media-formats.html I am setting the following options vcodec libx264 -vprofile baseline -acodec libfaac -ar 44100 -ac 1 -ab 128k yet I get the error message "Sorry, This Video is not valid for streaming to this device" I Played the video in android browser using videoJS http://video-js.zencoder.com/oceans-clip.mp4 and it WORKS fine. I download the video oceans-clip.mp4 and tried to convert using minimalist options y -i working.mp4 -vprofile (...)
- 18:20I using FFmpeg to stream video HD on facebook but I have a problem. When I execute the command ffmpeg -re -stream_loop -1 -i "/var/www/1.mp4" -vcodec libx264 -preset veryfast -maxrate 500k -bufsize 2500k -vf "format=yuv420p" -g 60 -acodec libmp3lame -b:a 198k -ar 44100 -f flv "......." in SSH, I see Video HD but when I use command through shell_exec() or exec(), I only see video in 360p or 240p.
- 14:34I'm just trying to save same frames on video from a buffer, where I properly saved the Bitmap Frame, and the Time Stamp, of the frame. writer1 = new VideoFileWriter(); this.writer1.Width = this.videoSourceEndo.VideoResolution.FrameSize.Width; this.writer1.Height = this.videoSourceEndo.VideoResolution.FrameSize.Height; this.writer1.VideoCodec = VideoCodec.H264; this.writer1.BitRate = (this.videoSourceEndo.VideoResolution.FrameSize.Height * this.videoSourceEndo.VideoResolution.FrameSize.Width * 30); this.writer1.VideoOptions["preset"] = "superfast"; this.writer1.VideoOptions["tune"] = (...)
- 14:21I'm trying to overlay a 15 second video transition on the beginning of an image sequence (png sequence with an alpha to reveal the image below), which I can do fine with the overlay filter. But I want to hold the first frame of the image sequence for 5 seconds before playing the animation. I've tried trim/select but I can't seem to get it be a duration of 5 seconds, I also can't seem to concat it back with the other video to do the transition. So my questions are: How do I get the first frame and hold it for 5 seconds, the method below works but doesn't seem like the cleanest option? (...)
- 12:02I have this code but it is not working I want batch script to scan currently run directory and batch process the MP4 files in that directory But first i want it to create a new directory called as newfiles and put the processed files in that folder with the same name Please help me to fix this batch script ty md "%~dp0\\newfiles" for %%a in (%~dp0\\"*.mp4") do ffmpeg -i "%%a" -c:v libx264 -preset veryslow -crf 18 -c:a aac -b:a 192k -pix_fmt yuv420p "newfiles\\%~dp0%%a.mp4" pause The code is not creating a new directory not batch process the mp4 files in that directory (the directory that (...)
- 10:59config ffmpeg: ./confingure --toolchain=msvc the error occured: make: *** [libavcodec/dxva2.o] Error 1 my system is win10 and ffmpeg is latest.
- 10:23When I used command below to convert video stream received from named pipe into .ts file which is HLS formatted, sudo ffmpeg -i named_pipe.mkv \\ -c:v libx264 -r 10 -g 30 -map 0 \\ -qmin 18 -qmax 30 \\ -f segment -segment_format mpegts -segment_time 3 \\ -segment_list list.m3u8 \\ -segment_list_type hls\\ -segment_list_size 20 -strftime 1 \\ %Y-%m-%d_%Hh%Mm%Ss.ts It stops working with the speed gradually going down after about 30 minutes. Here is the log right before it stopped working. *** dropping frame 2461 from stream 0 at ts -11787 [h264 ⓐ 0x5639c4f49440] nal_unit_type: 1, nal_ref_idc: 1 (...)
- 09:21I want to convert jpg images to mp4 video without resizing image(keep original images size and well formated video) I have tried lot's of solutions of ffmpeg and imagemagic (links given below)but both crop images after converting in video format and i want a video from images with original image size. Solution will be appreciated with ffmpeg or imagemagick. :) slow ffmpeg's images per second when creating video from images image to video ffmpegf FFMPEG An Intermediate Guide/image sequence How can I create a video file from a set of jpg images? [duplicate] How to create a video from (...) -- image to video ffmpegf, FFMPEG An Intermediate Guide/image sequence, FFmpeg, Make video from still image sequence, Combining images with ImageMagick, Imagemagick.org, ,
- 09:01Hi i am trying to install php-ffmpeg. Can someone guide me or correct me in my steps. I installed the composer on windows and then traversed to my folder i had created to run install ffmpeg cmd After running this command a composer.json, composer.lock file were created along with a vendor folder. Later installed the Shared FFMpeg build for 64bit from here http://ffmpeg.zeranoe.com/builds/ and form this folder copied the bin folder to my directory to set the ffmpeg and ffprobe path during create() like this $ffmpeg = \\FFMpeg\\FFMpeg::create([ 'ffmpeg.binaries' => (...)
- 08:40I would like to ask how through ffmpeg to achieve the smallest file size and yet keep the best quality [LIKE Youtube convert]. Currently used: ffmpeg -i "/home/sampe_4K_HDR.mkv" -map 0:00 -c:v libx264 -preset ultrafast -b:v 66718k -pix_fmt yuv420p10le -x264-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc" -crf 18 -c:a libfdk_aac -profile:v baseline -level 3.0 "/home/sampe_4K_HDR.mp4" But the size of the video after conversion is very large, I would like to preserve as much as possible the quality of the original video and get the smallest possible video size. Could you (...)
- 08:20Following ffmpeg command is working fine except it cuts down the exceeded -t duration: ffmpeg -ss 00:00:05 -t 49 -i 1.wav -ss 00:00:05 -t 400 -i 2.wav -ss 00:00:05 -t 49 -i 3.wav -filter_complex "[0:0][1:0][2:0]concat=n=3:v=0:a=1[outa]" -map "[outa]" output.mp3 In this example, 2.wav file is 00:05:09 in length, and we are requesting to get next 400 seconds. Time that exceeded, which is 96 seconds in this example is removed from the output file, and my client doesn't want that. That extra time should be 96 seconds of silence. Does ffmpeg have such capability or will it always remove the (...)
Lets for arguments sake say this is our database columns : username, password and finally accessLevel
With the create method you pass through an Array of post data lets take this example :
now with this approach we are not assigning input to specific fields in the database like we would using the save() approach so i can easily modify the html add a form element with the id accessLevel ( with a lucky guess or something ) and set it equal to 1 and that for instance that could resemble admin access.
With the save() method we assign exactly what we want to store where thus there cannot be a mass assignment even if post data is added to the request it will just be discarded.
If however you are not passing Input::all() to the create() method and simply passing input::only() i think it might be something with the design regarding the create method. I'm not to sure about this, but whether you pass input::all() or input::only(), the create() method still gets and array so i think it won't be able to differentiate between the 2 thus the mass assignment exception is added and $fillable or $gauderd array is needed within the model to discard unwanted post data.
This is just my thought and how i understand the subject. take it with a pinch of salt.
Just wanting to add i treat Laravel like a TV remote, i press the button and the channel changes, i'm not too concerned how the remote does what it does all i know is i get the channel i want. :) if you really want to know why i would suggest having a look at the create() method and see if you can gather why this is the case.